MyBatis关联映射
- 概述
在实际开发的工程中,经常对出现多表操作,如果常见的根据某条数据的ID去检索数据(根据用户查询订单信息),这个时候我们数据库设计的时候就需要使用外键进行关联,那么mybatis在操作这些关联表用的就是关联映射。
关系型数据库中的三种关联关系:
一对一 在任何一方引入对方的主键作为外键
一对多 在多个一方添加一的一方主键作为外键
多对多 设计中间关系表,引入两张表的主键作为第三张表的外键(联合主键)或者是普通外键字段
- 一对一
mybatis 通过association元素处理一对一关系,具体属性如下
property:用哪个属性接收关联对象
column:用当前表的哪个字段去查询关联对象
javaType:制定关联查询的对象的类型。
select:指定嵌套查询的语句
fatchType:指定关联查询的时候是否需要延迟加载,取值 lazy | eager
-
- 第一中方法
-
- 第二种方法
- 一对多
解析collection属性
property : 当前数据存储对象集合,查询的数据存放再哪个集合中
column:当前查询集合根据哪个字段数据进行查询,表示向下传播哪个值
ofType:声明当前集合中对象的类型
一张工卡对应多个打卡记录
-
- 通过工卡ID查询工卡信息并查询打卡记录
可以查询出多条记录
-
- 通过记录ID查询记录信息和工卡信息
- 多对多
-
- 查询员工ID为1的员工的任务有哪些
-
- 查询任务为ID为7的任务分配给了哪些人