public class A {
private int aId;
private List<B> bs;
public int getaId() {
return aId;
}
public void setaId(int aId) {
this.aId = aId;
}
public List<B> getBs() {
return bs;
}
public void setBs(List<B> bs) {
this.bs = bs;
}
}
public class B {
private int bId;
private int baId;
private List<C> cs;
public int getBId() {
return bId;
}
public void setBId(int bid) {
this.bId = bid;
}
public int getBaId() {
return baId;
}
public void setBaId(int baId) {
this.baId = baId;
}
public List<C> getCs() {
return cs;
}
public void setCs(List<C> cs) {
this.cs = cs;
}
}
public class C {
private int cId;
private int cbId;
public int getcId() {
return cId;
}
public void setcId(int cId) {
this.cId = cId;
}
public int getCbId() {
return cbId;
}
public void setCbId(int cbId) {
this.cbId = cbId;
}
}
<?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.abc.AMapper">
<resultMap type="com.abc.A" id="aMap">
<id property="a_Id" column="a_id" />
<!-- 其它字段略 -->
<!-- 关联查询B数据 -->
<collection property="bs" resultMap="com.sbc.BMapper.bMap"/>
</resultMap>
<!-- 公用sql -->
<sql id="baseSql">
select * from ly_a a
left join ly_b b on a.a_id = b.b_a_id
left join ly_c c on b.b_id = c.c_b_id
</sql>
<!-- 查询所有记录 -->
<select id="getAllA" resultMap="aMap">
<include refid="baseSql"/>
</select>
<!-- 查询一个 -->
<select id="getAById" parameterType="int" resultMap="aMap">
<include refid="baseSql"/> where a.a_id=#{a_id}
</select>
</mapper>