1、对list判null和判空来处理
使用mybatis进行in()判断的时候传入参数为List,这时候如果list有内容还好,如果List为空的话只用foreach会报错,那么就要判断List是否为空了,当然可以在java代码中进行判断,但是我不想每次调用该方法都要进行判断,所有最好还是在mybatis的sql配置文件中判断,配置如下:
<if test="list != null and list.size() > 0">
_claimreview.id in
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
2、对list判null和判空来处理(推荐)
<foreach collection="list" index="index" item="item" open="AND _claimreview.id IN (" separator="," close=")">
#{item}
</foreach>
这种方法在传入的collection值为空时,不会生成open内的sql语句,比较简洁