关联关系概述
在关系型数据库中,多表之间存在着三种关联关系,分别为一对一、一对多和多对多。
- 一对一:在任意一方引入对方主键作为外键。
- 一对多:在“多”的一方,,添加“一”的一方的主键作为外键。
- 多对多:产生中间关系表,引入两张表的主键作为外键,两个主键成为联合主键或使用新的字段作为主键。
对象之间也存在着三种关联关系。
- 一对一的关系:就是在本类中定义对方类型的对象,如A类中定义B类类型的属性b,B类中定义A类类型的属性a。
- 一对多的关系:就是一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a。
- 多对多的关系:在A类中定义B类类型的集合,在B类中定义A类类型的集合。
关联关系
一对一
一个学生只有一本学生证
元素中,包含了一个< association>子元素,MyBatis就是通过该元素来处理一对关联关系的。
< association>元素有如下两种配置方式:
** StudentIdCardMapper.xml**:
StudentMapper.xml:
一对多
一个班级有多个学生
元素中,包含了一个 子元素,MyBatis就是通过该元素来处理一对多关联关系的
< collection>元素可以参考如下两种示例进行配置,具体代码如下。
BanjiMapper.xml:
多对多
StudentMapper.xml: