栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

关于Map接收数据库字段操作

关于Map接收数据库字段操作

关于Map接收数据库字段操作

当需要返回一个类所有的字段的时候,就用类来接受。

当只需要返回一个类的某三四个字段的时候,可以选择使用Map来接收。

代码实操 mapper,xml层
List> queryAlarmUnitTop10(xxx);



    select
      unit_id,unit_name,count(id) as num
    from view_alarminfo
    
      and monitor_time =]]> #{minMonitorTime,jdbcType=TIMESTAMP}
      and monitor_time  #{maxMonitorTime,jdbcType=TIMESTAMP}
      and unit_type = '0'
      
        and brigade_id=#{brigadeId,jdbcType=VARCHAR}
      
      group by unit_id,unit_name
      order by num asc
      limit 10
    
  

将上面的sql语句放入数据库中,会返回三个字段,如下图

而现在我们使用Map来接受这个数据,使用debug可以看到如下,这边我们需要好好理解一下,我们使用的是List>来接收的,其中数据库中的每一行都代表着一个list里的map,而每个map里面存贮的是多个—这里切记是每个里面存贮多个key和value,可以理解为

map1.put(“unitId”,“123”);

map1.put(“unitName”,“school”);

map1.put(“num”,“4”);

这上面这三个作为一个Map放在List>里面

然后继续存贮

map2.put(“unitId”,“456”);

map2.put(“unitName”,“school”);

map2.put(“num”,“22”);

这里还有一个很重要的点,就是数据库里面的字段叫unit_id,但是通过MyBatis底层处理后就变成了unitId,所以后期在service里面处理的时候就

需要list.get(2).get(unitId)

而不是list.get(2).get(unit_id)

具体见下面service代码

service层
      List> list = alarmInfoMapper.queryAlarmUnitTop10(brigadeId, startTime, endTime, userType);
        JSONArray arrayX = new JSONArray();
        JSONArray arrayY = new JSONArray();
        for (int i = list.size() - 1; i >= 0; i--) {
            arrayX.add(list.get(i).get("unitName"));
            arrayY.add(list.get(i).get("num"));
        }
        Map map = new HashMap<>();
        // xData数据
        map.put("xData", arrayX);
        // yData数据
        map.put("yData", arrayY);
        return map;

ut(“xData”, arrayX);
// yData数据
map.put(“yData”, arrayY);
return map;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303473.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号