【随手记】mybatis动态sql foreach遍历List<Map>问题

发布时间 2023-11-15 10:49:55作者: Cloong

使用mybatis时经常需要在xml里写动态sql,发现foreach标签使用的问题

foreach标签使用

当Mapper传参是List<Map<String, Object>集合的形式时,不能直接使用参数名,会找不到对应的参数。

list类型的参数会特殊处理封装在map中,map的key就叫list

所以collection属性值只能是"list"

// mapper
boolean saveOrUpdateBatch(List<Map<String, Object>> list);
// xml
<foreach collection="list" item="item"  separator=",">
      (#{item.ID},#{item.xxx1},#{item.xxx2},#{item.xxx3})
</foreach>