栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【JAVA】将MyBatis返回数据封装为Map

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【JAVA】将MyBatis返回数据封装为Map

需求:

根据选择查询时间区间,查询各个设备例如从 2021-07-01 至 2021-10-01 的租赁总应收,并以年-月分组
如以下sql:

SELECt date_format(o.rentStartDate,'%Y-%m') as 'key',sum(o.money) as 'value'
FROM rentOrder o
WHERe o.rentStartDate BETWEEN '2021-07-01' AND '2021-10-01'
GROUP BY date_format(o.rentStartDate,'%Y-%m');

查询结果如下:

需将返回的数据中以租赁开始时间为key,以总金额为value封装为一个Map


实现:

Mapper中接口:

List> getRentAmountMonthDetail(String startTime, String endTime);

Mapper.xml中:


		SELECT date_format(o.rentStartDate,'%Y-%m') as 'key',sum(o.money) as 'value'
		FROM rentOrder o
		WHERe o.rentStartDate BETWEEN #{startTime} AND #{endTime}
		GROUP BY date_format(o.rentStartDate,'%Y-%m')

ServiceImpl中:

public Map getRentAmountDetail(String startTime, String endTime) {
	Map map = new HashMap();
	List> list = mapper.getRentAmountMonthDetail(startTime, endTime);
		if(Assert.notEmpty(list)) {
			for(HashMap map1 : list) {
				String key = "";
                String value = "";
                for(Map.Entry entry : map1.entrySet()) {
                	if("key".equals(entry.getKey())) {
                    	key = String.valueOf(entry.getValue());
                    }else if("value".equals(entry.getKey())) {
                        value = String.valueOf(entry.getValue());
                    }
                	map.put(key, value);
                }
            }
        }
	return map;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/305698.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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