String ids = “1,2,3”,如ids作为参数传递,mybatis用foreach 拼接 in 条件。
// mapper.xml
SELECT *
FROM study
WHERE id in
<foreach item="item" index="index" collection="ids.split(',')" open="(" separator="," close=")">
'#{item}'
</foreach>
// mapper.java
@Select("<script>"+
"select * from study " +
"<if test=\"itemIds != null\">"+
"where id in "+
"<foreach item='item' index='index' collection=\"ids.split(',')\" open='(' separator=',' close=')'>"+
" #{item}"+
"</foreach>"+
"</if>"+
"</script>"
)
注意:添加if判断,ids不能为null,否则报空指针异常。
更多推荐
Mybatis in 逗号分隔字符串
发布评论