全国省市县初始化数据库笔记

xiaoxiao2021-02-27  355

工作中遇到了这个问题,做个笔记,也为遇见我这种情况的做个参考。

工作的时候,现有的只有一个全国省市县的Json数据。要初始化到数据库。

json数据:

文件格式.json格式,代码可以直接使用。

如果想查看请使用EditPlus等工具即可查看。

全国省市县json数据下载地址:

http://download.csdn.net/detail/u013465293/9833667

封装了3个实体类,jsonList、AreaList、Chindren,用来把json转换成bean。

jsonList类:

package com.simple.web.model.model; import java.util.List; public class JsonList { private List<AreaList> jsonList; public List<AreaList> getJsonList() { return jsonList; } public void setJsonList(List<AreaList> jsonList) { this.jsonList = jsonList; } }

AreaList类:

package com.simple.web.model.model; import java.util.List; public class AreaList { private String code; private String name; private List<Children> children; public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Children> getChildren() { return children; } public void setChildren(List<Children> children) { this.children = children; } } Chindren类:

package com.simple.web.model.model; import java.util.List; public class Children { private String code; private String name; private List<Children> children; public List<Children> getChildren() { return children; } public void setChildren(List<Children> children) { this.children = children; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

区域表area初始化方法:

public void areaTableInit(){ Area area=null; //json文件 String fileName = "area.json"; JsonList jsonList = null; try { //拼接文件路径 String fieldFilePath = ApplicationUtils .getWebFileAbsoluteClassPath("excel-field-map/" + fileName); File file = new File(fieldFilePath); //使用ObjectMapper降json转换成bean ObjectMapper objectMapper = new ObjectMapper(); jsonList = objectMapper.readValue(file, JsonList.class); List<AreaList> areaList = jsonList.getJsonList(); long startTime = System.currentTimeMillis(); //获取省 for (AreaList arealist : areaList) { List<Children> children = arealist.getChildren(); System.out.println(arealist.getName()); area=new Area(); area.setAreaGrade(1);//1.省 2.市 3.区 area.setAreaCode(arealist.getCode());//地区编码 area.setAreaName( arealist.getName());//地区名字 area.setCreateDate(new Date());//创建日期 area.setParentAreaId(0);//上级id areaService.insert(area); Integer provinceId = area.getAreaId(); //获取市 if (null != children) { for (Children a : children) { System.out.println("----" + a.getName()); area=new Area(); area.setAreaGrade(2);//1.省 2.市 3.区 area.setAreaCode(a.getCode()); area.setAreaName(a.getName()); area.setCreateDate(new Date()); area.setParentAreaId(provinceId);//上级id为省id areaService.insert(area); int cityId = area.getAreaId(); List<Children> chil = a.getChildren(); //获取县 if (null != chil) { for (Children c : chil) { System.out.println("----------" + c.getName()); area=new Area(); area.setAreaGrade(3);//1.省 2.市 3.区 area.setAreaCode(c.getCode()); area.setAreaName(c.getName()); area.setCreateDate(new Date()); area.setParentAreaId(cityId);//上级id为市id areaService.insert(area); int countyId = area.getAreaId(); } } } } } long endTime = System.currentTimeMillis(); long time=endTime-startTime; System.out.println("初始化所用时间:"+time); System.out.println("-----------area表初始化成功-------------"); } catch (Exception e) { e.printStackTrace(); } } 运行结果:

初始化所用时间:202165 -----------area表初始化成功-------------

本章只是本人笔记,其实直接运行sql文件就可以。

sql文件下载地址:百度云:http://pan.baidu.com/s/1geRVdYV        

转载请注明原文地址: https://www.6miu.com/read-5985.html

最新回复(0)