AddressMapper.xml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3. <mapper namespace="com.caimei365.manager.dao.AddressMapper">
  4. <select id="getAllProvinceList" resultType="com.caimei365.manager.entity.caimei.AddressSelectVo">
  5. SELECT provinceID AS id, name
  6. FROM province
  7. WHERE validFlag = '1'
  8. </select>
  9. <select id="getCityListByProvinceId" resultType="com.caimei365.manager.entity.caimei.AddressSelectVo">
  10. SELECT provinceID AS parentId, cityID AS id, name
  11. FROM city
  12. WHERE provinceID = #{provinceId}
  13. AND validFlag = '1'
  14. </select>
  15. <select id="getTownListByCityId" resultType="com.caimei365.manager.entity.caimei.AddressSelectVo">
  16. SELECT cityID AS parentId, townID AS id, name
  17. FROM town
  18. WHERE cityID = #{cityId}
  19. AND validFlag = '1'
  20. </select>
  21. <resultMap id="ProvinceResultMap" type="com.caimei365.manager.entity.caimei.AddressSelectVo">
  22. <id property="id" column="provinceID"/>
  23. <result property="name" column="name"/>
  24. <collection property="children" ofType="com.caimei365.manager.entity.caimei.AddressSelectVo" resultMap="CityResultMap"/>
  25. </resultMap>
  26. <resultMap id="CityResultMap" type="com.caimei365.manager.entity.caimei.AddressSelectVo">
  27. <id property="id" column="cityID"/>
  28. <result property="name" column="name"/>
  29. <result property="parentId" column="provinceID"/>
  30. <collection property="children" ofType="com.caimei365.manager.entity.caimei.AddressSelectVo" resultMap="TownResultMap"/>
  31. </resultMap>
  32. <resultMap id="TownResultMap" type="com.caimei365.manager.entity.caimei.AddressSelectVo">
  33. <id property="id" column="townID"/>
  34. <result property="parentId" column="cityID"/>
  35. <result property="name" column="name"/>
  36. </resultMap>
  37. <select id="selectAllAddresses" resultMap="ProvinceResultMap">
  38. SELECT p.provinceId,
  39. p.name AS provinceName,
  40. c.cityId,
  41. c.name AS cityName,
  42. t.townId,
  43. t.name AS townName
  44. FROM province p
  45. LEFT JOIN city c ON p.provinceId = c.provinceId
  46. LEFT JOIN town t ON c.cityId = t.cityId
  47. </select>
  48. <select id="getAddByTownId" resultType="com.caimei365.manager.entity.caimei.AddressSelectVo">
  49. SELECT a.name as "province"
  50. , b.name as "city"
  51. , c.name as "town"
  52. , c.townId as "id"
  53. FROM province a
  54. RIGHT JOIN city b ON a.provinceId = b.provinceId
  55. RIGHT JOIN town c ON b.cityId = c.cityId
  56. WHERE c.townId = #{townId}
  57. </select>
  58. </mapper>