<?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="cn.iocoder.yudao.module.ecw.dal.mysql.region.RegionMapper"> <!-- 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> <select id="getByParentId" resultType="cn.iocoder.yudao.module.ecw.dal.dataobject.region.RegionDO"> WITH RECURSIVE r AS (SELECT * FROM ecw_region WHERE id = #{id} UNION ALL SELECT ecw_region.* FROM ecw_region, r WHERE ecw_region.parent_id = r.id) SELECT * FROM r where deleted = 0 order by sort; </select> <select id="getCityList" resultType="cn.iocoder.yudao.module.ecw.dal.dataobject.region.RegionDO"> SELECT d.* FROM ecw_region a LEFT JOIN ecw_region b ON a.id = b.parent_id LEFT JOIN ecw_region c ON b.id = c.parent_id LEFT JOIN ecw_region d ON c.id = d.parent_id WHERE a.parent_id = 0 AND a.deleted = 0 AND b.deleted = 0 AND c.deleted = 0 AND d.deleted = 0 and a.status = 0 and b.status = 0 and c.status = 0 and d.status = 0 </select> <select id="getContinentCountry" resultType="cn.iocoder.yudao.module.ecw.dal.dataobject.region.RegionDO"> SELECT * FROM ecw_region WHERE parent_id = 0 AND deleted = 0 and status = 0 UNION ALL SELECT b.* FROM ecw_region a LEFT JOIN ecw_region b ON a.id = b.parent_id WHERE a.parent_id = 0 AND a.deleted = 0 AND b.deleted = 0 and a.status = 0 and b.status = 0 </select> <select id="getImportExportCountryList" resultType="cn.iocoder.yudao.module.ecw.dal.dataobject.region.RegionDO"> SELECT b.* FROM ecw_region a LEFT JOIN ecw_region b ON a.id = b.parent_id WHERE a.parent_id = 0 AND a.deleted = 0 AND b.deleted = 0 and a.status = 0 and b.status = 0 and b.type in (1, 3) </select> <select id="getCityListByParentId" resultType="cn.iocoder.yudao.module.ecw.dal.dataobject.region.RegionDO"> select b.* from ecw_region a left join ecw_region b on a.id = b.parent_id where a.parent_id = #{parentId} AND a.deleted = 0 and b.deleted = 0 and a.status = 0 and b.status = 0 </select> </mapper>