mybatis 如何返回list<map<string,object>>

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis 如何返回list<map<string,object>>相关的知识,希望对你有一定的参考价值。

Mapper里面返回List,就是说Mapper里面的方法声明是
public List
dao、service层也作相应修改,改为返回List<Map<String,Object>>
<mapper namespace="com.brkc.epolice.mysql.dao.OnlineStatMapper" >
<select id="selectOnlineRateCurrent" resultType="java.util.HashMap" >
SELECT count(*) value, c. NAME label, ifnull(b.device_status, 0) device_status
FROM td01_device a
LEFT OUTER JOIN td06_device_status b ON a.id = b.device_id
LEFT OUTER JOIN td05_dd_device_status c ON c.ID = ifnull(b.device_status, 0)
GROUP BY ifnull(b.device_status, 0), c. NAME
ORDER BY device_status
</select>

</mapper>
public interface OnlineStatMapper
public List<Map<String, Object>> selectOnlineRateCurrent();
参考技术A 拆分:将map拆分成List<KeyValue>结构,KeyValue: String, Object本回答被提问者和网友采纳

mybatis返回一个count加一个字段该怎么设置返回resultType

可以直接用List<Map<Object,Object>>作为返回值类型,,返回结果是list,每一项是值map,map中会将查出的临时数据表结果按行封装,每一个map中key是字段名,value是具体的参数值。
简单示意可以如下:
@Select(value = "select count(id) as number, class_id from tb_student group by class_id ")
List<Map<Object,Object>> countNumByClass();
输出:[number=3, class_id=1, number=3, class_id=2, number=10, class_id=3,...]
参考技术A 返回一个对象
<resultMap id="selectMap" type="Student" >
<result property="name" column="NAME" jdbcType="VARCHAR" />
<result property="num" column="NUM" jdbcType="NUMERIC" />
</resultMap>
<select id="selectStu" resultMap="selectMap">
select count(t.name) as NUM,t.name from pt_user t group by t.name
</select>
参考技术B MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用但是resultType跟resultMap不能同时存在。 在MyBatis进行查询映射的时候,其实查询出...本回答被提问者和网友采纳

以上是关于mybatis 如何返回list<map<string,object>>的主要内容,如果未能解决你的问题,请参考以下文章

mybatis 如何获取返回的条数

mybatis 查询数据库返回值某字段是 List 该怎么搞

[mybatis]映射文件_select_返回集合(List,Map)

mybatis resulttype如何获取List<Object[]>?

list集合

mybatis返回一个count加一个字段该怎么设置返回resultType