我是靠谱客的博主 包容红酒,最近开发中收集的这篇文章主要介绍Mybatis中collection实现一对多的问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

今天在使用Mybatis中的Collection获取集合信息时,数据库中对应了多条数据,但在做单元测试时只能获取到一条数据

纠结了很久,突然想到是不是主键的问题,结果一试,还真是这么回事。

Mybatis中id和result的唯一不同是id表示的结果将是当比较对象实例时用到的标识属性。这帮助来改进整体表现,特别是缓存和嵌入结果映射。因此在不同的数据中要对ID进行唯一处理,不然就会出现类似我只能查看一条数据

	<resultMap type="OrderBaseInfo" id="orderBaseMap">
		<id property="orderId" column="order_id" />
		<result property="orderGroupNo" column="order_group_id" />
	</resultMap>
	<resultMap type="OrderBaseGroup" id="orderBaseGroupMap">
		<id property="orderGroupNo" column="order_group_id" />
		<result property="patientId" column="pat_id" />
		<collection property="orderItems" resultMap="orderBaseMap" />
	</resultMap>
	

例如上面mybatis文件中, orderId和orderGroupNo在数据库中对应的字段要唯一约束 ,只有这样你才能实现一对多的效果。

最后

以上就是包容红酒为你收集整理的Mybatis中collection实现一对多的问题的全部内容,希望文章能够帮你解决Mybatis中collection实现一对多的问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部