1. 问题的来源

  1. 在开发中经常需要进行一个页面级联效果,最经常使用莫过于省市级三级联动的效果,比如选完北京市然后把北京市下属的区丰台区,海淀区,昌平区…返回前端

2. 解决方案

本次解决方案仅涉及后端(ps:主要是前后端分离的项目写多,不会前端操作了)

2.1 数据库设计

CREATE TABLE `sys_china`  (`Id` int(11) NOT NULL COMMENT '主键id',`Name` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',`Pid` int(11) NULL DEFAULT NULL,`status` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '1' COMMENT '1:启用,2:禁用',PRIMARY KEY (`Id`) USING BTREE,INDEX `FK_CHINA_REFERENCE_CHINA`(`Pid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COMMENT = '省市区表' ;

2.2 后端代码(springboot+mysql)

代码地址:
https://github.com/Dr-Water/Level-3-linkage
sql代码也在项目的sql文件夹中

数据库一共四个字段:

含义
id 主键id
name 省市县的名称
pid 本条记录父类id
status 本条记录的启用状态

2.3 操作测试步骤

将项目启动起来使用postman进行测试:
请求路径:localhost:8010/link/city/queryById

  1. 前端第一次请求的时候id传成0 先把全国的省和直辖市查出来,
  2. 拿到省或者直辖市的id再去请求接口这样就能将本省的下的市或者区全查出来

2.4数据的存储以及回显

1.在使用的时候最好将省市县的主键idname都存到数据库中
2. 前端回显的时候可以直接拿name去展示省市县的名称,也可以使用id从数据库中请求
3. 当数据量特别大的时候,如果使用id去请求数据库可能会对数据库造成很大的压力,这个时候可以将所有的省市县全查出来放到redis中,减轻数据库的压力
4. 如果值列表的数据不是很大,可以直接将数据以id为key,name 为value 的大map的形式全给前端, 前端回显的时候使用id去map中去匹配值

省市县三级联动的实现方案相关推荐

  1. jQueryDay04:distpicker省市县三级联动, Layer插件,Laydate插件

    目录 0x00 distpicker省市县三级联动 如何设置默认值: 如何获取提交的数据: 后台数据回显: 0x01 Layer插件 0x02 Laydate插件 0x00 distpicker省市县 ...

  2. jquery省市县三级联动

    Jquery省市县三级联动,数据来源js,无需调用接口 可前往本人发布资源<Jquery省市县三级>免积分下载 目录 效果 html部分 <!DOCTYPE html> < ...

  3. mysql 省市县三级联动查询_省市县三级联动的SQL语句

    省市县三级联动的SQL语句 无 CREATE TABLE `t_address_province` (`id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '主键', ...

  4. 【MySQL】全国省市县三级联动SQL语句—区县SQL(三)

    目录 ->区县信息表数据 [MySQL]全国省市县三级联动SQL语句-建表和省份SQL(一)_路遥叶子的博客-CSDN博客全国省市县三级联动SQL语句-建表和省份SQL(一)https://bl ...

  5. mysql 省市县三级联动查询_PHP+AJAX+MYSQL 仿凡客诚品省市县三级联动下拉菜单查询效果...

    连接数据库:db.php $dbhost="localhost"; $dbpassword="123"; $dbuser ='root';//数据库用户名 $d ...

  6. JavaScript省市县三级联动-含源代码

    目录 一.省市县三级联动 1.实现思路 2.实现步骤 二.源代码管理 1.HTML显示页面 2.JavaScript核心代码 3.省市县三级地址 一.省市县三级联动 1.实现思路 1.创建省市县三级地 ...

  7. php 把省市存入数据库,用JS做了个省市县三级联动效果可存入数据库的值老不对,有代码...

    用JS做了个省市县三级联动效果可存入数据库的值老不对,有代码,在线等 现在的问题是这样的,当我选好地址后就提交他到数据库中去,可是现在怎么修改提交到数据库中的值都是前面的那些编码,就不是后面的文字.要 ...

  8. JavaScript 省市县三级联动

    JavaScript 省市县三级联动 2010-03-16 效果演示 省市联动出生地:--请选择省份-- 北京市天津市河北省 山西省内蒙古自治区辽宁省 吉林省黑龙江省上海市 江苏省浙江省安徽省 福建省 ...

  9. 省市县三级联动插件(面向过程,面向对象两种方式实现)

    <div class="city_select"><select id="province"><option value=&quo ...

  10. 中国行政区域省市县三级联动json数据(包含港澳台)

    中国行政区域省市县三级联动json数据(包含港澳台) 中国省市县json数据,包含港澳台地区详细数据(台湾地区市县同级,市下有区,县级以下没补充乡镇列表,使用的话需要注意下,数据来源国家民政部行政划分 ...

最新文章

  1. (shell脚本编程)linux如何利用脚本执行多条命令以及linux如何执行定时任务
  2. mysql 获取姓名首字母_MySQL取姓名的首字母
  3. 网络营销外包专员浅析网站网络营销外包如何快速获取关键词排名
  4. 【Python基础】Python3十大经典错误及解决办法
  5. HttpRunner自动化框架学习笔记
  6. Android怎么插手机卡,魅蓝E手机卡怎么装 魅蓝E手机SIM卡安装图文教程
  7. html无序列表只能横着排吗,[三地连线走势图]css 怎样让无序列表 横着排列
  8. 创建WEBPARTS全过程
  9. 把数据对象转成字符串_R语言处理环境监测数据(2):时间数据处理
  10. [原创]Android SDK下载(Linux下载SDK最新教程2020.11.26)
  11. 37.JavaScript对象与JSON格式的转换,JSON.stringify、JSON.parse方法的使用方法和注意事项
  12. jtf_rs_defresources_srp_v引起的问题 同义词无数据 基表有数据
  13. xmpp学习使用简单介绍(二)
  14. 【N32G457】基于RT-Thread和N32G457的可控电流源
  15. 基于RTP协议的IP电话QoS监测及提高策略
  16. 编程_三大编程思想:POP、OOP、AOP
  17. mysql is running but_MySQL: mysql is not running but lock exists 的解决方法
  18. 比利时银行集团KBC创建基于区块链的硬币
  19. 二的幂次方判定(c语言)
  20. 国科大学习资料--模式识别与机器学习(黄庆明)--2018期末考试题(含答案)

热门文章

  1. 怎么修改PDF文件的内容?教你两招快来看看
  2. 直击DTCC2018 阿里数据库技术干货全面解析
  3. 类 QQ IM 通讯软件开发实战
  4. UML之Astah的基本使用教程-4(活动图、序列图、Stereotype Icon)
  5. 英语口语测试评分软件,最客观的英语口语APP亲身测评,这3款软件让你的口语脱颖而出...
  6. 批量标注数量大的地图注记
  7. 计算机配色原理,电脑配色原理介绍-华强电子网
  8. 实用的网站、工具(科研学术、wps、作图、教程和文档、在线开发工具、在线编程学习、文档笔记工具、办公工具、写作、设计制作类、素材库)
  9. openwrt折腾记2-广告拦截adbyby与pass
  10. HTML转PDF问题