entity
@Data
public class TestEntity {
private Long id;
private String name;
private List<Test2Entity> aihao;
}
@Data
public class Test2Entity {
private Long id;
private String aihao;
}
mapper
注意,如果表主键相同,那么采用as取别名方式定义字段
<mapper namespace="com.io.mapper.TestMapper">
<resultMap id="umap" type="com.io.entity.TestEntity">
<id column="tid" property="id"/>
<result column="name" property="name"/>
<collection property="aihao" javaType="java.util.List" ofType="com.io.entity.Test2Entity">
//列名也应该按照别名来写
<id column="ttid" property="id"/>
<result column="aihao" property="aihao"/>
</collection>
</resultMap>
<select id="query" resultMap="umap">
SELECT
// 字段 as 别名
t1.*,t1.id as tid,t2.*,t2.id as ttid
FROM
test1 t1
LEFT JOIN t1_t2 t12 ON t12.t1id=t1.id
LEFT JOIN test2 t2 on t2.id=t12.t2id
</select>
</mapper>