Mybatis中collection和association的使用区别

/ 14评 / 17

最近一直把collection和association弄混,所以为了增强自己的记忆,就撸一个关系出来算是总结罢了


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的类型别名图

14条回应:“Mybatis中collection和association的使用区别”

  1. QQ说道:

    不错不错

  2. 123说道:

    快来射我啊

  3. zx说道:

    来了诶老板

  4. mao说道:

    你真快

  5. 阿里员工说道:

    快来射我啊

  6. 暮成说道:

    讲的挺好的!一开始自己照书看的话还是有点疑惑,看完说明都明了了。虽然无伤大雅不过还是想说,班级是class

发表评论

电子邮件地址不会被公开。 必填项已用*标注