mybatis对象List<String> List<Integer>属性映射方式
作者:知我饭否
这篇文章主要介绍了mybatis对象List<String> List<Integer>属性映射方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
mybatis对象List<String> List<Integer>属性映射
今天,在使用resultMap 的时候,遇见一个需求。
就是一个bean类 有一个List的属性。
bean类
public class ApplyModel { private String id; private String name; private List<String> groups; //省略setter getter 方法 }
可以看见 有一个List属性
在mapper里面 用反射的话,使用如下
<resultMap id="apply" type="com.example.sercurity.entity.ApplyModel"> <id column="id" property="orgUserId"/> <result column="name" property="name"/> <collection property="groups" ofType="string" javaType="arraylist"> <!-- 这里使用构造方法注入,String 没有属性--> <constructor> <arg column="group_name"/> </constructor> </collection> </resultMap>
不再使用< result >标签,而是使用< constructor >。
这里简单提一下,这两个的区别:
- < result > 是属性映射。当要映射的类,具有一个属性时候,有setter getter方法 就可以使用这个。
- < constructor > 是构造方法,适用于上面String类这种没有setter getter方法的类
因为String只有构造方法可以赋值,所以 使用< constructor >标签。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。