java ibatis中resultMap 列中列使用select出字符串集合映射到列变量问题,请教大家,例:

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java ibatis中resultMap 列中列使用select出字符串集合映射到列变量问题,请教大家,例:相关的知识,希望对你有一定的参考价值。

配置定义如下,但是使用查询出结果集中Student是有数据的,但是Student.aliasList为null,

请问这如何解?
是有条件查询的,根据id查询,每个id都是唯一标识。
<resultMap id= "studentMap" class= "test.student ">
<result property= "id" column= "id" />
<result property= "name" column= "name" />
<result property= "age" column= "age" />
<result property= "aliasList" column= "alias" select=“selectAliasList”/>
</resultMap>
<select id= "selectAliasList" parameterClass="java.lang.String" resultClass="java.lang.String ">
</select>
java实体类:
public class Student
private String idl;

private String name;

private int age;

private List<String> aliasList;

参考技术A <select id= "selectAliasList" parameterClass="java.lang.String" resultClass="java.lang.String ">
</select>
没有SQL语句

集合的属性,使用association 比较好追问

我是省略了,有sql的,只是查询多行的字段String类型!

集合的属性,使用association 比较好?这个怎么用?

参考技术B 把你的<result property= "aliasList" column= "alias" select=“selectAliasList”/>改为<collection column="alias" property="aliasList" select="selectAliasList" /> 参考技术C 你这个实体类的 getter setter 呢,追问

省略了,这个我是有写的

追答



SELECT A.TASK_ID,
A.TASK_NAME,
A.DATA_ANALYSIS,
B.DATA_NAME PROCESS,
A.STAFF_ID,
A.CREATE_TIME,
A.TRUE_NUM,
A.FALSE_NUM,
DECODE(C.EXEC_CODE, '2', A.FILE_ID, '') FILE_ID
FROM TF_SM_UPLOAD_TASK A,
(..) B,
(..) C
WHERE A.PROCESS = B.DATA_ID(+)
AND A.FILE_ID = C.FILE_ID(+)
AND A.SYS_CODE = '0'

AND A.TASK_NAME LIKE '%$TASK_NAME$%'

我们这是 这样用,SELECT的resultClass直接写实体的类型,他会自动转换成list,但是查询的列名和实体的字段一样就可以

本回答被提问者采纳

以上是关于java ibatis中resultMap 列中列使用select出字符串集合映射到列变量问题,请教大家,例:的主要内容,如果未能解决你的问题,请参考以下文章

ibatis中的resultClass,parameterClass,resultMap,resultType的使用与区别

ibatis中的resultMap作用

ibatis 中关于resultMap="" 在后台如何用map 接收的问题

各位大拿进来看看,关于ibatis的resultmap找不到的问题

ibatis/mybatis属性三:resultMap和resultClass/resultType

ibatis resultmap中的列数可以大于结果集吗?怎么配置,现在报错,我在resultmap中有