看别人写的代码时,对index的使用,使用map时index时闹了一个笑话,以为map中的index是索引,后面发现是key
记录foreach每个属性的含义
属性 | 描述 | |
collection | 该参数为必选。 foreach遍历的对象,作为入参时,List对象默认用list代替作为键,数组对象有array代替作为键,Map对象没有默认的键。也就是传入的集合(list,array,map)的名字,这个名字可以在foreach里面随便引用) 如果传入参数类型为map,这个入参有注解@Param("params"),则map的所有的key集合可以写成params.keys,所有值集合可以写成params.values。这样foreach就可以对key集合或值集合进行迭代了。 上面只是举例,具体collection等于什么,就看你想对那个元素做循环。 例如:传入参数为 Map<string,User> map collection = "map.keys" collection = "map.values" | |
open | 可选参数
| |
close | 可选参数 foreach代码的结束符号,一般配合open 例如按照id查询数据时 <foreach collection="list" open="(" item="id" separator="," close=")">#{id,jdbcType=VARCHAR}</foreach> | |
item | 必选参数 循环体中的具体对象。支持属性的点路径访问,如item.age,item.info.details。 | |
index | 可选参数 collection为list或者array时,index是元素的索引, 若collectin为map时,index是该元素的key | |
separator | 可选参数 元素之间的分隔符,例如在in()的时候,separator=","会自动在元素中间用“,“隔开,如in(1,2,)这样 |
参考文档:https://blog.csdn.net/zhangxiong0301/article/details/84741281