Mybatis返回Map,List<Map>_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Mybatis返回Map,List<Map>

Mybatis返回Map,List<Map>

 2014/6/28 9:32:55  53873039oycg  程序员俱乐部  我要评论(0)
  • 摘要:上次写[简单]Spring_Mybatis_CRUD简单示例(带数据库),遇到一个问题,在返回Map类型时候没有解析正确,不得不返回一个JavaBean,趁着有空,重新看了下,现在可以用Mybatis返回Map,List<Map>了。返回Map,Mybatis配置如下:<selectid="getCountyHashMap"resultType="java.util.HashMap">selectname,idfromtsql_test_regionwhereid=#
  • 标签:Map list

??????????? 上次写[简单]Spring_Mybatis_CRUD简单示例(带数据库),遇到一个问题,在返回Map类型时候没有解析正确,不得不返回一个JavaBean,趁着有空,重新看了下,现在可以用Mybatis返回Map,List<Map>了

??????????? 返回Map,Mybatis配置如下

???????????

class="sql"><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);
	}

??? 结果为

?

???

???? 返回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();
	}

??? 结果为

?

???

????? 本文系原创,转载请注明出处,谢谢

????? 全文完

???

?

  • 大小: 28.6 KB
  • 大小: 56.4 KB
  • 查看图片附件
发表评论
用户名: 匿名