如何在mapper文件中使用in("str1","str2")
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' )
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- mybatis update更新字段的使用操作
- mybatis條件語句中帶數組參數的處理
- MyBatis傳入參數為List對象的實現
- mybatis in查詢傳入String方式
- mybatis的mapper特殊字符轉移及動態SQL條件查詢小結