关于 mybatis 中 in 写法,<foreach collection="xxx" item="xxx" index="index" open="(" separator="," close=")"> 参数详解

使用 mybatis 时,如果要使用到 in 写法,要使用  foreach ,里面几个参数,看了很多地方,都说的不清不楚,自己最后各种测试,这里详细说下:

(1)collection = “” ,这个参数是 dao 层(mapper)接口方法里面传过来的集合参数,如果dao 层传的参数只有一个,这里写关键字 list(如果是数组,写 array)

例子:

  dao 层:User getInfo(List<Integer> user_ids)
       collection = "list"

如果有多个参数,并且使用了 @Param 注解(import org.apache.ibatis.annotations.Param),则这里要写注解里面的参数!

例子: dao 层  :User getInfo(@Param("user_ids")List<Integer> user_ids,@Param("xxx")String xxx)

  collection = "user_ids"   

(2)item = “” ,集合里面的单个值,给下面  #{ } 用

(3)index = "" ,这个是遍历的下标,举个简单的例子立刻明白,就是平时 for 循环,我们定义的 i 一样

例子: for(int i = 0 ;i < 10 ; i ++){

   }

因此这个参数随便定义都可以,有就行

(4)open  separator  close  这3个比较好理解,就是  ( , , ,) 这样子啦,拼接括号,中间逗号隔开的意思

 

posted @ 2020-05-13 15:43  雪化山河  阅读(11181)  评论(1编辑  收藏  举报