一、一对多查询
A表与B表是一对多关系:
A表

aad
11

B表

ba_id
11
21
31

A表对应的实体类EntityA,B表对应的实体类EntityB

public class EntityA {
	private Integer a;
	private Integer ad;
}

public class EntityB{
	private Integer b;
	private Integer aId;
}

public class EntityAVo {
	private Integer a;
	private Integer ad;
	private List<EntityB> alist;
}

mybatis文件

<resultMap id="aMap" type="EntityAVo">
	<result property="a" column="a"/>
	<result property="ad" column="ad"/>
	<collection property="alist" ofType="EntityB">
		<result column="b" property="b"/>
		<result column="a_id" property="aId"/>
	</collection>
</resultMap>

<select id="test" resultMap="aMap">
	SELECT 
		A.a,
		A.ad,
		B.b,
		B.a_id
	FROM
	A
	LEFT JOIN B ON B.a_id = A.a
</select>

返回的实体结构

EntityAVo 
 a=1
 ad=1
 alist=List<EntityB>
 	b=1,aId=1
 	b=2,aId=1
 	b=3,aId=1
例如下图

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐