SpringBoot整合Mybatis(二)

 

输出映射 resultType/resultMap

resultType

使用resultType进行结果映射时,查询的列名和映射的pojo属性名完全一致,该列才能映射成功。

如果查询的列名和映射的pojo属性名全部不一致,则不会创建pojo对象;

如果查询的列名和映射的pojo属性名有一个一致,就会创建pojo对象。

输出简单类型

当输出结果只有一列时,可以使用ResultType指定简单类型作为输出结果类型。

案例:输出一个count(*)


输出POJO单个对象


输出POJO列表

 


总结:

输出单个pojo对象和pojo列表时,mapper映射文件中的resultType的类型是一样的,mapper接口的方法返回值不同。

同样的mapper映射文件,返回单个对象和对象列表时,mapper接口在生成动态代理的时候,会根据返回值的类型,决定调用selectOne方法还是selectList方法。

 

resultMap

如果查询出来的列名和属性名不一致,通过定义一个resultMap将列名和pojo属性名之间作一个映射关系。

  1. 定义resultMap

     2、使用resultMap作为statement的输出映射类型

 if和where

  • If标签:作为判断入参来使用的,如果符合条件,则把if标签体内的SQL拼接上。

注意:用if进行判断是否为空时,不仅要判断null,也要判断空字符串‘’;

  • Where标签:会去掉条件中的第一个and符号。

 

SQL片断

 foreach 遍历

另一种遍历,参数直接传入id集合

<insert id="batchInsert" parameterType="java.util.List">
    INSERT  INTO agent(job_number,department,region,username,idcard,company_rankings,department_rankings,region_rankings,
    distance_first_company,distance_first_department,distance_first_region)
    VALUES
    <foreach collection="list" item="item" index="index" separator=",">
        (#{item.job_number},#{item.department},#{item.region},#{item.username},#{item.idcard},#{item.company_rankings},
        #{item.department_rankings},#{item.region_rankings},#{item.distance_first_company},#{item.distance_first_department},#{item.distance_first_region})

    </foreach>
</insert>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值