MySQL.MyBatis怎么将查询的两个字段作为Map的key和value
问题的由来
前端使用Echarts图标显示汇总数据。需要形式如下的数据:
{
"C20": 42.01,
"C30": 1693.10,
"C35": 231.00
}
但是经过以下的SQL查询
SELECT
gsom.intensity_level AS 强度等级,
SUM(gsom.quantity) AS 生产方量
FROM
gt_szls_out_master gsom
WHERE org_id = '8100000000002334' AND dev_sn IN('00010001')
GROUP BY
gsom.intensity_level
数据库查询出来的数据结果如下:
解决方案
其实观察一下前端需要的代码形式,我们只需要把SQL查询的结果中强度等级
作为map的key,生产方量
作为map的value即可。
实现上面的方案有一下几种方法:
- 1、可以将查询的结果在java代码中进行遍历,组装成相应的结构返回给前端
- 2、使用注解+拦截器的方式直接返回符合条件的Map(后面会讲ÿ