表类似于:
PERSON : ID , NAME , AGE , BIRTHDAY ,STATUS
sql语句类似于:
SELECT * FROM PERSON ORDER BY STATUS
这样,每种STATUS对应了一列PERSON,如何配置Mybatis才能得到Map<String,List<Person>>这样的数据结构?
想象中,配置应该是类似于下边的结构:
<resultMap id="statusMapPerson" type="HashMap<String , List<Person> >">
</resultMap>
sql语句类似于:
SELECT * FROM PERSON GROUP BY STATUS
这句sql只取到了每种STATUS的第一项,不知道你的应用场景是?
没辙,只能自己去拼,实际上mybatis返回的map都是
List<Map<String, Object>>
,Map的key是column name,value是column value搜一下,ResultHandler看看能不能解决
你group by查询后的结果就是map类型的,使用效果和你的string,list的样式是一样的,如果你需要你说的那种结果,就使用associate自己去组装。写一个对象映射List<Person>
map 映射 ——
object
-key
-list<String>
先映射为对象的字段
在转换成map