XML文件
<resultMap id="ssx" type="CityEntity">
<result property="RegionName" column="aRegionName"/>
<collection property="citytwo" ofType="CityTwoEntity">
<result property="RegionName" column="bRegionName"/>
<collection property="citythree" ofType="CityThreeEntity">
<result property="RegionName" column="cRegionName"/>
</collection>
</collection>
</resultMap>
<select id="selectCity" resultMap="ssx">
SELECT
a.RegionName aRegionName,
b.RegionName bRegionName,
c.RegionName cRegionName
FROM
tb_region AS a
INNER JOIN tb_region AS b ON b.ParentId = a.RegionId
INNER JOIN tb_region AS c ON c.ParentId = b.RegionId
HAVING
a.RegionName = #{RegionName};
</select>
难点主要是嵌套查询结果,如果不理解可以复习一下Mybatis一对多 多对一查询
实体类
package com.YLD.C.entity;
import lombok.Data;
import java.util.List;
@Data
public class CityEntity {
private Integer RegionId;
private Integer ParentId;
private String RegionName;
private List<CityTwoEntity> citytwo;
}
一张表看成三张表,写三个实体类。
CityEntity 省
CityTwoEntity 市(区)
CityThreeEntity 县
数据库表
因为是自己写着玩的所以命名不太标准 有什么错误的地方 请大家指正 谦虚学习