获取世界各国、全国省份、城市、县

https://wuliu.taobao.com/user/output_address.do?range=country

https://wuliu.taobao.com/user/output_address.do?range=province

https://wuliu.taobao.com/user/output_address.do?range=city

https://wuliu.taobao.com/user/output_address.do?range=county

将上面获取的json拷贝到txt文件里面,下面是mac系统的,如果是windows系统,那么修改

String url = "/Users/tentsuuhou/Desktop/"+name+".txt";

这个路径转换程你拷贝json到txt文件的路径就可以了

package com.dtb.member.controller.api;

import com.dtb.member.mapper.AreaDaoMapper;
import com.dtb.member.service.ApiLogService;
import com.dtb.member.util.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;

/**
 * @Author:ChengJian
 * @Description:
 * @Date: Created in 下午3:21 2019/4/2
 */
@Controller
@RequestMapping(value = "/upload")
public class AreaController {

    @Autowired
    AreaDaoMapper areaDaoMapper;


    @RequestMapping(value = "/area.html")
    @ResponseBody
    public String upload(String name) throws IOException {

        String url = "/Users/tentsuuhou/Desktop/"+name+".txt";
        File file = new File(url);
        FileReader reader = new FileReader(file);
        int fileLength = (int)file.length();
        char[] chars = new char[fileLength];
        reader.read(chars);
        String area [] = String.valueOf(chars).split("]");
        List<Map<String,Object>> list = new ArrayList<>();
        Object object[] = null;
        String everyRecords [] = null;
        String str = "";
        int areaLength = area.length;
        int m = 0;
        for(int j = 0; j < areaLength;j++){
            str = (String)area[j];
            str = str.substring(2,str.length());
            everyRecords = str.split("'");
            if(everyRecords.length == 8){
                Map<String,Object> map = new HashMap<>();
                if(everyRecords[1].length() == 6){
                    map.put("num1",everyRecords[1]);
                    map.put("num2",everyRecords[3]);
                    map.put("num3",everyRecords[5].equals("1")?"0086":everyRecords[5]);
                    map.put("num4",everyRecords[7]);
                    map.put("num5",DateUtils.getDateToyyyy_MM_dd_HH_mm_ss(new Date()));
                    map.put("num6",DateUtils.getDateToyyyy_MM_dd_HH_mm_ss(new Date()));
                    list.add(map);
                }else if(everyRecords[1].length() < 6){
                    //去除其他国家的记录
                    m++;
                }
                //添加中国区域代码
                if(m == 1){
                    map.put("num1","0086");
                    map.put("num2","中国");
                    map.put("num3","0");
                    map.put("num4","zhongguo");
                    map.put("num5",DateUtils.getDateToyyyy_MM_dd_HH_mm_ss(new Date()));
                    map.put("num6",DateUtils.getDateToyyyy_MM_dd_HH_mm_ss(new Date()));
                    list.add(map);
                }
            }
        }
        if(list != null){
            areaDaoMapper.insertArea(list);
        }else{
            System.out.println("List is null");
        }
        return "NICE";
    }
}
public interface AreaDaoMapper {
    int insertArea(List<Map<String,Object>> list);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dtb.member.mapper.AreaDaoMapper">

  <insert id="insertArea" parameterType="java.util.Map">
    INSERT INTO t_shop_county
      (administrative_code, area_name, parent_administrative_code, pin_yin_name, add_time, update_time)
    VALUES
    <foreach collection="list" index="index" item="item" separator=",">
      (#{item.num1},#{item.num2},#{item.num3},#{item.num4},#{item.num5},#{item.num6})
    </foreach>
  </insert>

</mapper>

获取世界各国、全国省份、城市、县

获取世界各国、全国省份、城市、县

获取世界各国、全国省份、城市、县

转载于:https://my.oschina.net/mdxlcj/blog/3031499