<insert id="KGraphFifteenMinutes_insertKGraph" parameterType="java.util.List">
INSERT INTO graph_tab(currencyId)
VALUES
<foreach collection="list" item="item" index="index" separator=",">
(#{item.currencyId})
</foreach>
</insert>
- collection:指定要遍历的集合:
- list类型的参数会特殊处理封装在map中,map的key就叫list
- item:将当前遍历出的元素赋值给指定的变量
- separator:每个元素之间的分隔符
- open:遍历出所有结果拼接一个开始的字符
- close:遍历出所有结果拼接一个结束的字符
- index:索引。遍历list的时候是index就是索引,item就是当前值
- 遍历map的时候index表示的就是map的key,item就是map的值
- #{变量名}就能取出变量的值也就是当前遍历出的元素
这里需要注意的是,如果传的是单参数且为List,这个list会被封装在map中并且它的key就是list,这时的collection参数必须用list,否则会取不到你传过来的参数而报出空指针异常!
如果有多个参数,那么你的list肯定被你自己封装过在map 中,这时collection参数里用的才是你封装在map里的key。