Mybatis(一对多,多对一,多对多关系)

MyBatis中的一对多和对多一,多对多

给大家推荐一个比较好的mybatis学习网站:www.mybatis.cn

主要就是resultMap中
association(关联) – 一个复杂的类型关联;许多结果将包成这种类型(多对一)
collection(集合) – 复杂类型的集合(一对多)

这里我们以班级和学生为例,一个班级里面对应多个学生,这是一对多;反过来,多个学生对应一个班级,这是多对一

一对多关系

一对多关系是最普通的一种关系。在这种关系中,班级表中的一行可以匹配学生表中的多个学生,但是学生表中的一行只能匹配班级表中的一行。举例,出版社表图书表之间具有一对多关系:每个出版社出版很多书,但是每本书名只能出自一个出版社。

只有当一个相关列是一个主键或具有唯一约束时,才能创建一对多关系。

多对一关系

在这种关系中,学生表内的多行数据可以对于班级表中的一行数据,例如学生A、学生B、学生C、学生D可以匹配班级表中的一个班级BK101。

多对多关系

多对多关系是关系数据库中两个表之间的一种关系, 该关系中第一个表中的一个行可以与第二个表中的一个或多个行相关。第二个表中的一个行也可以与第一个表中的一个或多个行相关。
如果我们通过学生与课程的关系来说明多对多关系:一位学生,会修多门课程;而一门课程,也会被多位学生修习。此时,双方的关系即为多对多关系。
拥有多对多关系的两个实体将会有一个中间表来记录两者之间的关联关系。

原文地址:https://www.cnblogs.com/axinga/p/14565838.html