如何在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。

推薦閱讀: