我们要根据 批量的学校id 来查询,
collecion 是 map的key,
而map的value 就是存放学校id的list。
item 指的是list里的每个元素。
select * from school where schoolId in <foreach collection="SCHOOLIDS" index="index" item="item" open="(" close=")" separator=","> #{item.sid} </foreach>
ids 是 学校的 id 集合,把每一个放到 map2里, 然后将 map2 放到 schoolids 里。
最后将 schoolids 这个List 放入map 中 ,将map 传入 mybatis 中。
for (int i = 0; i < ids.size(); i++) { Map<String, String> map2 = new HashMap<String, String>(); map2.put("sid",ids.getString(i) ); schoolids.add(map2); } map.put("SCHOOLIDS", schoolids);
"当你直接传递一个 List 实例或者数组作为参数对象传给 MyBatis。当你这么做的时 候,MyBatis 会自动将它包装在一个 Map 中,用名称在作为键。List 实例将会以“list” 作为键,而数组实例将会以“array”作为键。"
http://blog.csdn.net/gufachongyang02/article/details/27186823