MyBatis框架一对多,多对一的关联关系

124 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第13天,点击查看活动详情

 表的关联关系

我们通常说的关联关系有以下四种,一对多关联,多对一关联,一对一关联,多对多关联。关联关系是有方向的。如果是高并发的场景中,不适合做表的关联。

在多对一和一对多的关联关系中,我们使用订单表和客户表。

image.png

1.  一对多关联

在一对多关联关系中,一方(客户)中有多方(订单)的集合 ,所以要使用< collection>标签来映射多方的属性。

核心代码:

实体类

image.png

接口

image.png

mapper.xml

image.png

第二种解决方案

image.png

最终解决方案

每个mapper里只有自己的增删改查。

image.png

调用OrdersMapper.xml中的按用户ID查该用户名下的所有订单

image.png

2. 多对一关联

在多对一关联关系中,多方(订单)中持有一方(客户)的对象,要使用标签< association>标签来映射一方的属性。  

核心代码:

实体类:

image.png

接口:

image.png

mapper.xml

image.png

第二种解决方案

image.png

最终解决方案:

image.png

调用CustomerMapper.xml里的按用户主键查询用户信息的方法

image.png