-
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 什么时候结束
梅花香自古寒来