欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > Mybatis -一对多、多对一对象关联查询

Mybatis -一对多、多对一对象关联查询

2024/10/25 19:20:03 来源:https://blog.csdn.net/F15217283411/article/details/142208134  浏览:    关键词:Mybatis -一对多、多对一对象关联查询

作者:fyupeng
技术专栏:☞ https://github.com/fyupeng
项目地址:☞ https://github.com/fyupeng/distributed-blog-system-api


留给读者

一、介绍

比如你需要在Company对象中,嵌套一个或多个SonCompanyContactInfo,也就是联合使用一对多和多对一的对象关系。

而且还是直接通过数据库查询出来,不想自己遍历去构造这种对象,那么你可以使用MyBatisassociationcollection关键字。

提示:association 标签必须放在 collection 上方,

二、代码

public Class Company {private SonCompany sonCompany;private List<ContactInfo> contactInfos;
<select id="queryCompanyDataByKey" resultMap="CompanyItemMap">select * from (select a.id, a.area, a.uniscid, a.updatetime as updateTime, b.area as sonArea, b.uniscid as sonUniscid, c.name as contactNamefrom company a inner join son_comopany b on a.sonId = b.idinner join contact_info c on a.contact_id = c.id)
</select>
<resultMap id="CompanyItemMap" type="com.fyupeng.company"><id property="id" column="id" /><result property="area" column="area" /><result property="uniscid" column="uniscid" />// 子公司<result property="updateTime" column="updateTime" /><association property="sonCompany" javaType="com.fyupeng.SonCompany"><result property="sonArea" column="sonArea" /><result property="sonUniscid" column="sonUniscid" /></association>// 联系人信息<collection property="contactInfos" ofType="com.fyupeng.ContactInfo"><result property="contactName" column="contactName" /></collection></resultMap>

三、总结

简洁、高效、实用!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com