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

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


1、题外话: 映射到List


List 通常是能够用于接收 一列多行 的.. ( 不是映射封装成对象的状况下

image.png
image.png
image.png

select id, name from xxx;

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


2、映射到 map 中


Map 能够接收 一行多列.

了解 Map<String, Object> 接收sql查询多条记录后的映射关系..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 排序效果还在 !!!spa




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

相关文章
相关标签/搜索