在項目開發中經常會出現一個查詢字段包含多個查詢內容的情況,在SQL中使用IN實現:
SELECT * FROM user WHERE name IN ('張三','李四');
在mybatis,使用foreach實現in的功能:
<where> <if test="isAudit != null"> and v.isAudit in <foreach collection="isAudit" index="index" item="isAuditw" open="(" separator="," close=")"> #{isAuditw} </foreach> </if> </where>
collection表示傳入的值,一般為list類型,item表示命名,open表示起始字符,close表示結束字符,separator表示分隔符。