前提: 一顿复杂的查询...
List 通常是能够用于接收 一列多行 的.. ( 不是映射封装成对象的状况下
select id, name from xxx;
实操证实, 映射到 List中的始终是查询的 第一列
idjava
Map 能够接收 一行多列.了解
Map<String, Object>
接收sql查询多条记录后的映射关系..sql
@MapKey("id") public Map<Integer,Map<String,Object>>getUsers(Map<String,Object>param);
这样就接收了多行多列了.
使用Map<Map<String, Object>>
, 原本已经排序好的结果, 效果打乱了.使用
List<Map<String, Object>>
, 也能够接收多条记录, order by xxx desc 排序效果还在 !!!spa
参考: MyBatis使用@MapKey注解接收多个查询记录到Map中.net