123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- <?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.caimei365.manager.dao.AddressMapper">
- <select id="getAllProvinceList" resultType="com.caimei365.manager.entity.caimei.AddressSelectVo">
- SELECT provinceID AS id, name
- FROM province
- WHERE validFlag = '1'
- </select>
- <select id="getCityListByProvinceId" resultType="com.caimei365.manager.entity.caimei.AddressSelectVo">
- SELECT provinceID AS parentId, cityID AS id, name
- FROM city
- WHERE provinceID = #{provinceId}
- AND validFlag = '1'
- </select>
- <select id="getTownListByCityId" resultType="com.caimei365.manager.entity.caimei.AddressSelectVo">
- SELECT cityID AS parentId, townID AS id, name
- FROM town
- WHERE cityID = #{cityId}
- AND validFlag = '1'
- </select>
- <resultMap id="ProvinceResultMap" type="com.caimei365.manager.entity.caimei.AddressSelectVo">
- <id property="id" column="provinceID"/>
- <result property="name" column="name"/>
- <collection property="children" ofType="com.caimei365.manager.entity.caimei.AddressSelectVo" resultMap="CityResultMap"/>
- </resultMap>
- <resultMap id="CityResultMap" type="com.caimei365.manager.entity.caimei.AddressSelectVo">
- <id property="id" column="cityID"/>
- <result property="name" column="name"/>
- <result property="parentId" column="provinceID"/>
- <collection property="children" ofType="com.caimei365.manager.entity.caimei.AddressSelectVo" resultMap="TownResultMap"/>
- </resultMap>
- <resultMap id="TownResultMap" type="com.caimei365.manager.entity.caimei.AddressSelectVo">
- <id property="id" column="townID"/>
- <result property="parentId" column="cityID"/>
- <result property="name" column="name"/>
- </resultMap>
- <select id="selectAllAddresses" resultMap="ProvinceResultMap">
- SELECT p.provinceId,
- p.name AS provinceName,
- c.cityId,
- c.name AS cityName,
- t.townId,
- t.name AS townName
- FROM province p
- LEFT JOIN city c ON p.provinceId = c.provinceId
- LEFT JOIN town t ON c.cityId = t.cityId
- </select>
- <select id="getAddByTownId" resultType="com.caimei365.manager.entity.caimei.AddressSelectVo">
- SELECT a.name as "province"
- , b.name as "city"
- , c.name as "town"
- , c.townId as "id"
- FROM province a
- RIGHT JOIN city b ON a.provinceId = b.provinceId
- RIGHT JOIN town c ON b.cityId = c.cityId
- WHERE c.townId = #{townId}
- </select>
- </mapper>
|