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 >。
这里简单提一下,这两个的区别,

  1. < result > 是属性映射。当要映射的类,具有一个属性时候,有setter getter方法 就可以使用这个
  2. < constructor > 是构造方法,适用于上面String类这种没有setter getter方法的类

因为String只有构造方法可以赋值,所以 使用< constructor >标签

总结

多给自己五分钟的时间,就可以变得很轻松。不要那么累

如果有不懂的,可以关注我的公众号 “知我饭否” 向我留言。我会每天更新一些文章,有兴趣的可以 微信 搜索"知我饭否" or 扫描下方二维码

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值