Mybatis中的in操作

如果有以下sql 语句,这条sql语句有in操作。

SELECT
*
FROM
    product_db.productinfo pi
WHERE pi.isvalid = 1
    AND pi.id IN (22, 60)   

如果要在Mybatis中使用这条sql语句,那么应该如何操作呢?
下面就来简单的演示一下这个操作。
Mybatis映射文件如下。


//查询condition类
Public OpenProductQueryCondition{
    private Integer productId;  
    private List list;
}

可以看到,在Mybatis中对in的操作是这样的。

foreach collection="list" index="index" item="item" separator="," open="AND p.id IN (" close=")">
               #{item}
 

属性说明:

  • list:传入的condition中的list,mybatis将会遍历中集合中的元素。
  • index:指定一个名字,用于表示在迭代过程中,每次迭代到的位置。
  • item:表示集合中每一个元素进行迭代时的别名。
  • open:表示该语句以什么开始。
  • close:表示以什么结束。
  • separator:表示在每次进行迭代之间以什么符号作为分隔符。

你可能感兴趣的:(Mybatis中的in操作)