关联关系概述
在关系型数据库中,多表之间存在着三种关联关系,分别为一对一、一对多和多对多,如图1所示。
图1 关系型数据库中多表之间的三种关联关系
这三种关联关系的具体说明如下:
● 一对一:在任意一方引入对方主键作为外键;
● 一对多:在“多”的一方,添加“一”的一方的主键作为外键;
● 多对多:产生中间关系表,引入两张表的主键作为外键,两个主键成为联合主键或使用新的字段作为主键。
通过数据库中的表可以描述数据之间的关系,同样,在Java中,通过对象也可以进行关系描述,如图2所示。
图2 Java对象描述数据表之间的关系
在图2中,三种关联关系的描述如下:
● 一对一的关系:就是在本类中定义对方类型的对象,如A类中定义B类类型的属性b,B类中定义A类类型的属性a;
● 一对多的关系:就是一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a;
● 多对多的关系:在A类中定义B类类型的集合,在B类中定义A类类型的集合。
以上就是Java对象中,三种实体类之间的关联关系,那么使用MyBatis是如何处理Java对象中的三种关联关系呢?在接下来的3个小节中,将对MyBatis中的这几种关联关系的使用进行详细讲解。