这种错误出现的原因有很多种,我这里遇到的原因是这样,直接上代码吧,还是
List<Map<String,Object>> list = new ArrayList<>();
Map<String,Object> map = new HashMap<>();
map.put("id","1");
map.put("name","xiaoming");
list.add(map);
userDao.insert("命名空间.insertList",list);
映射文件:
<insert id="insertList" parameterType="java.util.Map">
insert t_user (id,name)
values
<foreach collection = "list" item= "item" index="index" seprater=",">
(#{id},#{name})
</foreach>
</insert>
这里错误产生的原因是找不到list是我键,将java代码中的list用map封装一下再重新传值就正确了,修改为
List<Map<String,Object>> list = new ArrayList<>();
Map<String,Object> map = new HashMap<>();
map.put("id","1");
map.put("name","xiaoming");
list.add(map);
Map map1 = new HashMap();
map1.put("list",list);
userDao.insert("命名空间.insertList",map);
映射文件:
<insert id="insertList" parameterType="java.util.Map">
insert t_user (id,name)
values
<foreach collection = "list" item= "item" index="index" seprater=",">
(#{id},#{name})
</foreach>
</insert>