mybatis foreach遍历LIST读到数据为null的问题
更新时间:2022年02月08日 10:29:42 作者:xshxxm
这篇文章主要介绍了mybatis foreach遍历LIST读到数据为null的问题,具有很好的参考价值,希望对大家有所帮助。
foreach遍历LIST读到数据为null
当我们在使用mybatis的时候,就避免不了批量更新,或者批量查询使用数组或者list,就避免不了使用foreach遍历,当我们在遍历的时候,数据遍历不出来,取出的值是null
解决方案
如下:只需要修改为下标取值
foreach 遍历list中的坑
将jdbc改写为mybatis时,传入的条件为list使用到的标签是<where> 、<choose>、<when>、<if>、<foreach>因为判断list集合时判断条件不全,导致sql执行错误
下面是正确的判断条件
<where> <choose> <when test="unitList != null and ! unitList.isEmpty() and unitList.size() > 0"> (tab2.id IN <foreach collection="unitList" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> AND tab1.`status` = #{deviceStatus}) <if test="zoonList != null and ! zoonList.isEmpty() and zoonList.size() > 0"> OR (tab2.leaderId IN <foreach collection="zoonList" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> AND tab1.`status` = #{deviceStatus}) </if> </when> <when test="zoonList != null and ! zoonList.isEmpty() and zoonList.size() > 0"> tab2.leaderId IN <foreach collection="zoonList" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> AND tab1.`status` = #{deviceStatus} </when> </choose> </where>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Intellij idea下使用不同tomcat编译maven项目的服务器路径方法详解
今天小编就为大家分享一篇关于Intellij idea下使用不同tomcat编译maven项目的服务器路径方法详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-02-02详解Spring Boot Admin监控服务上下线邮件通知
本篇文章主要介绍了详解Spring Boot Admin监控服务上下线邮件通知,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-12-12
最新评论