最近做项目时碰到需要选取省市县填充,本来前端实现这个功能是非常方便的,利用vue的组件库就可以实现,但是我们项目中台不好再引入这些组件库,所以就让后端实现!
网上找了一些数据,但是都不是最新的行政区划数据,于是我就在我国的官方网站上下载了数据(行政区划官网上并没有台湾省的资料,我从vue官方文档中拿的相关数据),存到mysql库中,实现省市县三级查询。
三张表分别存放省市区,很明了,查询也方便
存到百度云盘里了,有需要可自取,三个sql文件分别对应省市区
链接:https://pan.baidu.com/s/136W4PtvQ6llA51RYePoieA
提取码:dnvc
建议使用mybatis查询,并且用collections标签会好很多
实例:
<resultMap id="baseResultMap" type="utry.scrm.entity.Region"> <result property="id" column="province_id" jdbcType="VARCHAR"/> <result property="regionName" column="province" jdbcType="VARCHAR"/> <collection property="list" ofType="utry.scrm.entity.Region"> <result property="id" column="city_id" jdbcType="VARCHAR"/> <result property="regionName" column="city" jdbcType="VARCHAR"/> <collection property="list" ofType="utry.scrm.entity.Area"> <result property="id" column="area_id" jdbcType="VARCHAR"/> <result property="regionName" column="area" jdbcType="VARCHAR"/> </collection> </collection> </resultMap> <select id="自己的dao层方法" resultMap="baseResultMap"> SELECT a.province_id, a.province, b.city_id, b.city, c.area_id, c.area FROM provinces a LEFT JOIN cities b ON a.province_id = b.province_id LEFT JOIN areas c ON b.city_id = c.city_id </select>