SELECT
*
FROM
product_db.productinfo pi
WHERE pi.isvalid = 1
AND pi.id IN (22, 60)
下面將使用一個簡單的過程來演示這個操作
下面這個是mybatis的映射文件
<select id="queryAllOpenProduct" parameterType="com.tims.open.domain.OpenProductQueryCondition"
resultType="com.tims.open.domain.OpenProduct">
SELECT
*
FROM
product_db.product p
WHERE
p.isvalid = 1
<if test="list != null">
<foreach collection="list" index="index" item="item" separator="," open="AND p.id IN (" close=")">
#{item}
</foreach>
</if>
</select>
下面是我們的查詢condition類
Public OpenProductQueryCondition{
private Integer productId;
private List<Integer> list;
}
下面我們對IN操作進行分析
<foreach collection="list" index="index" item="item" separator="," open="AND p.id IN (" close=")">
#{item}
</foreach>
list 就是傳入的condition中的list,mybatis將會遍歷中集合中的元素
index 可以添加也可以不添加
item 你將要遍歷出元素的別名
open 開始的位置
close 什么時候結束