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 >标签。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
