欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

用Mybatis返回Map,List

程序员文章站 2022-06-30 19:17:52
...

 

            返回Map,Mybatis配置如下 :

<select id="getCountyHashMap" resultType="java.util.HashMap">
    select name,id from
    tsql_test_region where
    id=#{id}
  </select>

ServiceImpl如下 :

public Map<String, Long> getCountyHashMap(long id) {
    Map<String, Object> regionMap = regionInfoMapper.getCountyHashMap(id);
    Map<String, Long> resultMap = new HashMap<String, Long>();
    String region = null;
    Long vid = null;
    for (Map.Entry<String, Object> entry : regionMap.entrySet()) {
      if ("NAME".equals(entry.getKey())) {
        region = (String) entry.getValue();
      } else if ("ID".equals(entry.getKey())) {
        vid = ((java.math.BigDecimal) entry.getValue()).longValue();
      }
    }
    resultMap.put(region, vid);
    return resultMap;
  }

Controller如下 :

@RequestMapping(value = "/region3", method = RequestMethod.GET)
  public @ResponseBody
  Map<String, Long> getCountyMap(@RequestParam(required = true) int regionId) {
    return regionInfoService.getCountyHashMap(regionId);
  }

结果为 :

用Mybatis返回Map,List     返回List<Map>类似 :

Mybatis配置 :

<select id="getRegionHashMap" resultType="java.util.HashMap">
    select name,id from
    tsql_test_region order by id
  </select>

ServiceImpl如下 :

public Map<String, Long> getRegionHashMap() {
    List<Map<String, Object>> regionMap = regionInfoMapper
        .getRegionHashMap();
    Map<String, Long> resultMap = new HashMap<String, Long>();
    for (Map<String, Object> map : regionMap) {
      String region = null;
      Long id = null;
      for (Map.Entry<String, Object> entry : map.entrySet()) {
        if ("NAME".equals(entry.getKey())) {
          region = (String) entry.getValue();
        } else if ("ID".equals(entry.getKey())) {
          id = ((java.math.BigDecimal) entry.getValue()).longValue();
        }
      }
      resultMap.put(region, id);
    }
    return resultMap;
  }

Controller如下 :

@RequestMapping(value = "/region2", method = RequestMethod.GET)
  public @ResponseBody
  Map<String, Long> getRegionMap() {
    return regionInfoService.getRegionHashMap();
  }

结果为 :

用Mybatis返回Map,List