首页 技术 正文
技术 2022年11月21日
0 收藏 643 点赞 2,470 浏览 2931 个字

一,从数据库查出来的数据

两张表先各自左外连接,然后在相互左外连接查找省市县的数据(业务需求必须这样做,省市去的是第一张表,而市县取的是第二张表,两张表中间通过市的名字连接)见这个博文的最后一张图片

二,要求的json格式的数据

json省市县数据源

三,实现的关键代码

  public String queryFullZoneInfo() {         List<Map<String, String>> mapList = zoneInfoService.queryFullZoneInfo();         List<Map<String, Object>> zoneList = new ArrayList<Map<String, Object>>();         Map<String, Object> existMap = new HashMap<String, Object>();         for (Map<String, String> map : mapList) {             String province = map.get("province");             Map<String, Object> provinceMap = null;             if (existMap.containsKey(province)) {                 provinceMap = (Map<String, Object>) existMap.get(province);             } else {                 provinceMap = new HashMap<String, Object>();                 existMap.put(province, provinceMap);                 zoneList.add(provinceMap);             }             provinceMap.put("Code", map.get("provinceCode"));             provinceMap.put("Name", map.get("province"));             String city = map.get("city");             if (StringUtils.isNotEmpty(city)) {                 List<Map<String, Object>> provinceCityList = null;                 if (existMap.containsKey(province + "_")) {                     provinceCityList = (List<Map<String, Object>>) existMap.get(province + "_");                 } else {                     provinceCityList = new ArrayList<Map<String, Object>>();                     existMap.put(province + "_", provinceCityList);                     provinceMap.put("level", provinceCityList);                 }                 Map<String, Object> provinceCityMap = null;                 if (existMap.containsKey(province + "_" + city)) {                     provinceCityMap = (Map<String, Object>) existMap.get(province + "_" + city);                 } else {                     provinceCityMap = new HashMap<String, Object>();                     existMap.put(province + "_" + city, provinceCityMap);                     provinceCityList.add(provinceCityMap);                     String citySort = String.valueOf(existMap.get(province + "_sort"));                     existMap.put(province + "_sort", "null".equals(citySort) ? 1 : NumberUtils.toInt(citySort) + 1);                     provinceCityMap.put("sort", existMap.get(province + "_sort"));                 }                 provinceCityMap.put("Name", city);                 provinceCityMap.put("Code", map.get("cityCode"));                 String country = map.get("country");                 if (StringUtils.isNotEmpty(country)) {                     List<Map<String, Object>> provinceCityCountryList = null;                     if (existMap.containsKey(province + "_" + city + "_")) {                         provinceCityCountryList = (List<Map<String, Object>>) existMap.get(province + "_" + city + "_");                     } else {                         provinceCityCountryList = new ArrayList<Map<String, Object>>();                         existMap.put(province + "_" + city + "_", provinceCityCountryList);                         provinceCityMap.put("level", provinceCityCountryList);                     }                     Map<String, Object> provinceCityCountryMap = null;                     if (existMap.containsKey(province + "_" + city + "_" + country)) {                         provinceCityCountryMap = (Map<String, Object>) existMap.get(province + "_" + city + "_" + country);                     } else {                         provinceCityCountryMap = new HashMap<String, Object>();                         existMap.put(province + "_" + city + "_" + country, provinceCityCountryMap);                         provinceCityCountryList.add(provinceCityCountryMap);                         String countrySort = String.valueOf(existMap.get(province + "_" + city + "_sort"));                         existMap.put(province + "_" + city + "_sort", "null".equals(countrySort) ? 1 : NumberUtils.toInt(countrySort) + 1);                         provinceCityCountryMap.put("sort", existMap.get(province + "_" + city + "_sort"));                     }                     provinceCityCountryMap.put("Code", map.get("countryCode"));                     provinceCityCountryMap.put("Name", country);                 }             }         }         try {             return JsonUtils.toJson(zoneList);         } catch (Exception e) {             e.printStackTrace();         }         return null;     }     
上一篇: ATCA构架
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,024
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,514
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,362
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,143
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,776
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,854