Mybatis中使用collection标签查询一对多的数据
需求:
现在有一张合同表,和一张合同明细表,是一对多的关系,也就是说一个合同可能会对应多个合同明细,要求更具合同编号(唯一)查询所有的合同明细
1.首先新建二个类,一个是合同类,一个是合同明细类
合同类:
合同类中新增一个属性为合同明细 ampAssetReportResponseList
合同明细类:
2、编写xml文件
<resultMap type="com.xxxx.dto.backend.amp.response.AmpAssetDetailsResponse" id="AmpAssetDetails">
<collection column="{queueId = id }" property="ampAssetReportResponseList" ofType="com.xxxx.backend.amp.response.AmpAssetReportResponse" javaType="java.util.ArrayList" select="selectDetail" />
</resultMap>
{queueId = id }
queueId :传递的参数名称
id:参数内容
property="ampAssetReportResponseList"
ampAssetReportResponseList: 对应合同明细中新增的属性:ampAssetReportResponseList
select="selectDetail"
selectDetail:对应select标签的id
详细介绍看下图
3.编写Mapper文件
4、serviceImp调用mapper
5、测试响应结果