Mybatis一对多关联查询,返回结果集list中嵌套list实例(collection实现)

  1. 问题

最近在开发web(持久层框架用的是mybatis)时遇到一个小问题 : 需要查询对象列表返回到页面,每一个对象中有一个属性是list,我需要获取这个list中的值显示在页面上。

  1. 解决方案

使用collection解决,因为在开发中遇到一些小坑,所以在这总结举例,避免以后再犯。

商户pojo

public class MercPojo{
     
	private Long id;
	private String mercNum;//商户编号
	private String mercName;//商户全称
	private List<MercSettlePojo> mercSettleList;//商户结算信息
	...
}

商户结算信息pojo

public class MercSettlePojo{
     
	private Long id;
	private Long merc_id;//商户的id,对应MercPojo的id
	private String settleName;//结算账户名称
	...
}

Mapper文件 Merc.xml

<select id="selectListByMercId" resultType="...MercSettlePojo">
		<![CDATA[
			select
				t.id,
				t.settle_name as settleName 
		<collection property="mercSettleList" ofType="...MercSettlePojo" column="{merc_id=id}" select="selectListByMercId"/>
	resultMap>

sql执行顺序为:先执行selectMerchantList,然后再执行selectListByMercId。
  
原文参考:https://blog.csdn.net/u012415035/article/details/97363965

参考 1:https://blog.csdn.net/qing_gee/article/details/79214721

参考 2:https://www.cnblogs.com/canger/p/9997422.html

你可能感兴趣的:(mybatis,java,mybatis,java)