Mybatis中collection和association的使用区别

转载自:http://199604.com/709


1. 关联-association
2. 集合-collection

比如同时有User.java和Card.java两个类

User.java如下:

public class User{

private Card card_one;

private List<Card> card_many;

}

在映射card_one属性时用association标签, 映射card_many时用collection标签.

所以association是用于一对一和多对一,而collection是用于一对多的关系

下面就用一些例子解释下吧

association-一对一

人和身份证的关系

下面是pojo

下面是mapper和实现的接口

PersonMapper.xml 还使用association的分步查询。

同理多对一,也是一样

只要那个pojo出现private Card card_one;

即使用association


collection 一对多和association的多对一关系

学生和班级的一对多的例子

pojo类

ClazzMapper使用到了集合-collection 即为一对多,一个班级面对多个学生

StudentMapper则是与班级为多对一关系,所以使用了关联-association


嗯,希望我以后又不记得二者的关系时,能感谢现在总结的自己

附上一张mybatis的类型别名图


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatiscollection和association都是用来处理关联关系的元素,但是它们的作用和用法有所不同。 1. collection:用于处理一对多的关联关系,即一个实体对象包含多个子实体对象的情况。collection标签通常用于在一个实体类包含一个List或Set类型的属性,该属性包含多个子实体对象。示例: ```xml <resultMap id="authorMap" type="Author"> <id property="id" column="author_id"/> <result property="username" column="username"/> <result property="password" column="password"/> <collection property="articles" ofType="Article"> <id property="id" column="article_id"/> <result property="title" column="title"/> <result property="content" column="content"/> </collection> </resultMap> ``` 2. association:用于处理一对一的关联关系,即一个实体对象包含一个子实体对象的情况。association标签通常用于在一个实体类包含一个其他实体类类型的属性。示例: ```xml <resultMap id="articleMap" type="Article"> <id property="id" column="article_id"/> <result property="title" column="title"/> <result property="content" column="content"/> <association property="author" javaType="Author"> <id property="id" column="author_id"/> <result property="username" column="username"/> <result property="password" column="password"/> </association> </resultMap> ``` 总结: collection和association都是用于处理关联关系的元素,但是collection用于处理一对多的关联关系,association用于处理一对一的关联关系。在具体使用时,需要根据实际情况选择合适的标签。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值