foreach元素的属性主要有 item,index,collection,open,separator,close
foreach 标签:顶层的遍历标签,单独使用无意义 collection 属性:必填,Map 或者数组或者列表的属性名 item 属性:变量名,值为遍历的每一个值(可以是对象或基础类型),如果是对象那么依旧是 OGNL 表达式取值即可,例如 #{item.id} 、#{ user.name } 等 index 属性:索引的属性名,在遍历列表或数组时为当前索引值,当迭代的对象时 Map 类型时,该值为 Map 的键值(key) open 属性:循环内容开头拼接的字符串,可以是空字符串 close 属性:循环内容结尾拼接的字符串,可以是空字符串 separator 属性:每次循环的分隔符
foreach时,Collection属性值的三种情况
如果传入的参数类型为List时,collection的默认属性值为list,同样可以使用@Param注解自定义keyName; 如果传入的参数类型为array时,collection的默认属性值为array,同样可以使用@Param注解自定义keyName; 如果传入的参数类型为Map时,collection的属性值可为三种情况:(1.遍历map.keys;2.遍历map.values;3.遍历map.entrySet()),稍后会在代码中示例;
<select id="findAll">
select * from user where ids in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>