<if test="cutList != null">
<if test="isInterrupt == '1'.toString() ">
AND A.basic_id IN (
<foreach collection="cutList" item="item" index="index" separator="," >
#{item}
</foreach>
)
</if>
<if test="isInterrupt == '0'.toString() ">
AND A.basic_id NOT IN (
<foreach collection="cutList" item="item" index="index" separator="," >
#{item}
</foreach>
)
</if>
</if>
1. Mybatis中 if test 判断数值字符串注意项
if test 判断是否为某一数值字符串时需在数值字符串后加上toString()方法
如:
<if test="isInterrupt == '1'.toString() ">
2. Mybatis中遍历list入参
此处还有个知识点是mybatis使用foreach标签来遍历入参list。
如:
<if test="isInterrupt == '1'.toString() ">
AND A.basic_id IN (
<foreach collection="cutList" item="item" index="index" separator="," >
#{item}
</foreach>
)
</if>
collection为需遍历数组,item为当前循环的变量,index为计数器,separator=","指循环一次则以“,”分隔
这里IN 的()可以直接用open="(" close=")"属性设置
<foreach collection="cutList" item="item" index="index" open="(" close=")" separator="," >