Mybatis 批量查询 Map 嵌套 List

我们要根据 批量的学校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


猜你喜欢

转载自blog.csdn.net/qq_25775675/article/details/78134572