list mybatis 接收 类型_MyBatis查询返回Map类型数据

今天在交通费计算交易中,需要查询全部base地的交通费,需要返回map集合。然后经查资料,实现过程如下:

1.Mapper中SQL:

select base,traffic_fare from T_EAD_TRAFFICBASE

2.DAO中的成员方法:

public List> getBaseMap();

3.对返回List的处理:

private Map getBaseMap(Logger logger) {

Map baseMap = new HashMap();

List> baseList = eadTrafficBaseMapper.getBaseMap();

for (Map map:baseList //遍历list

) {

String base = null;

BigDecimal fare = null;

for (Map.Entry entry:map.entrySet() //遍历map的key集合 获取对应key的value

) {

if ("base".equals(entry.getKey())) {

base = String.valueOf(entry.getValue());

}else if ("traffic_fare".equals(entry.getKey())) {

fare = new BigDecimal(String.valueOf(entry.getValue()));

}

baseMap.put(base,fare);

}

}

return baseMap;

}

注意:在返回的list结果中,list.get(0) 获取的只是查询结果的一条数据的map,并不是全部数据的map。SQL查询的结果中,每一条查询结果都是一个map,然后把所有map放在list中。map的形式是{"code1":"value1","code2":"value2","code3":"value3"...},所以需要对list遍历,再遍历map,分别获取对应table的字段值,放入到一个新的map集合 返回,大家可以打印一下查询结果,就一目了然了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值