mapper文件使用in("str1","str2")
mybatis的xxxMapper.xml文件中,如果筛选的字段使用的是varchar类型,在xml中需要对遍历做处理,在遍历的字段外加‘’
xml
select * from table_name
<where>
del_flg = 1
<if test="statuses != null and statuses.size() > 0 ">
and status in
<foreach collection="statuses" close=")" open="(" item="item" separator=",">
-- 此处添加单引号
'${item}'
</foreach>
</if>
</where>
小细节记录下来,方便后续查看
mapper.xml中sql使用 in 执行失败的原因
mapper.xml传参如果下
user_obj_id in ( #{ids})
最终执行的sql拼接如下
user_obj_id in ( ‘55,56,57' )
而不是期望的
user_obj_id in ( ‘55',‘56',‘58' )
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。