# generate-area-data **Repository Path**: alotuser/generate-area-data ## Basic Information - **Project Name**: generate-area-data - **Description**: generate-area-data - **Primary Language**: Java - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-05 - **Last Updated**: 2026-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 使用文档 ## 一、整体功能流程 入口类:`AllTest.java`,运行 `main()` 一键执行3个步骤 1. 同步数据入库:加载行政区数据,全量写入 MySQL `t_origin_area` 2. 生成树形JSON:查询全表数据,自动组装父子树形,输出本地新JSON文件 3. 新旧文件对比:读取历史基准JSON,**仅依据地区name逐层递归比对**,控制台输出新增、删除、编码变更差异 ## 二、数据库设计 表名:`t_origin_area` | 字段 | 说明 | |------|------| | code | 层级短编码,主键唯一 | | name | 行政区名称,对比匹配唯一依据 | | level | 层级:1省级、2区县、3乡镇、4村/里 | | type | 地区类型(直辖市/特别行政区/市辖区等) | 编码规则 - level1:2位短码(如 81 香港、11 北京) - level2:4位短码(如 8103 东区) - level3:9位短码(父4位+3位序号) - level4:12位短码(父9位+3位序号) ## 三、使用方法 1. 配置数据库 resources 新建 `db.setting`,填写MySQL连接地址、账号、密码。 2. 首次运行 `AllTest.main()` 无历史基准文件,只执行:数据入库 → 生成新JSON,跳过对比。 3. 二次及后续运行 自动读取旧基准文件,对比新旧地区树,打印差异; 如需更新对比基准,将生成的 `area_new.json` 重命名为 `area_old.json`。