Mybatis中collection和association的使用区别

Posted flyfishing_1991

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis中collection和association的使用区别相关的知识,希望对你有一定的参考价值。

 

最近一直把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的类型别名图

技术分享图片


以上是关于Mybatis中collection和association的使用区别的主要内容,如果未能解决你的问题,请参考以下文章

mybatis中association和collection的column传入多个参数值

mybatis 一对一与一对多collection和association的使用

Mybatis的一对多(collection)和一对一(association)查询

MyBatis之ResultMap的association和collection标签详解(图文例子)

mybatis association和collection标签怎么用

MyBatis,collection标签和association标签的区别啥?