前提: 一顿复杂的查询...


一、题外话: 映射到List


List 一般是可以用于接收 一列多行 的.. ( 不是映射封装成对象的情况下

image.png
image.png
image.png

 select id, name from xxx;

实操证明, 映射到 List中的始终是查询的 第一列 id


二、映射到 map 中


Map 可以接收 一行多列.

了解 Map<String, Object> 接收sql查询多条记录后的映射关系..



@MapKey("id")
public Map<Integer,Map<String,Object>>getUsers(Map<String,Object>param);
这样就接收了多行多列了.



⭐ 补充:List<Map<String, Object>> 接收多条记录


① 小坑
使用 Map<Map<String, Object>> , 本来已经排序好的结果, 效果打乱了.

使用 List<Map<String, Object>>, 也可以接收多条记录, order by xxx desc 排序效果还在 !!!




参考: MyBatis使用@MapKey注解接收多个查询记录到Map中


lankeren
44 声望6 粉丝

有效果,达到目标的努力是真努力,其余不能称之为努力。