collection 和association 的区别?

association:一对一

<!-- 另一种联合查询(一对一)的实现,但是这种方式有“N+1”的问题-->
<resultMap id="BlogWithAuthorQueryMap" type="com.leon.domain.associate.BlogAndAuthor">
	<id column="bid" property="bid" jdbcType="INTEGER"/>
	<result column="name" property="name" jdbcType="VARCHAR"/>
	<association property="author" javaType="com.leon.domain.Author"
		column="author_id" select="selectAuthor"/> <!-- selectAuthor 定义在下面
	-->
</resultMap>

collection:一对多、多对多

<!-- 查询文章带评论的结果(一对多) -->
<resultMap id="BlogWithCommentMap" type="com.leon.domain.associate.BlogAndComment"
	extends="BaseResultMap" >
	<collection property="comment" ofType="com.leon.domain.Comment">
		<id column="comment_id" property="commentId" />
		<result column="content" property="content" />
	</collection>
</resultMap>
<!-- 按作者查询文章评论的结果(多对多) -->
<resultMap id="AuthorWithBlogMap" type="com.leon.domain.associate.AuthorAndBlog" >
	<id column="author_id" property="authorId" jdbcType="INTEGER"/>
	<result column="author_name" property="authorName" jdbcType="VARCHAR"/>
	<collection property="blog" ofType="com.leon.domain.associate.BlogAndComment">
		<id column="bid" property="bid" />
		<result column="name" property="name" />
		<result column="author_id" property="authorId" />
		<collection property="comment" ofType="com.leon.domain.Comment">
			<id column="comment_id" property="commentId" />
			<result column="content" property="content" />
		</collection>
	</collection>
</resultMap>

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值