-------------------------siwuxie095
MyBatis 高级查询
1、MyBatis 作为一个 ORM 框架,也对 SQL 的高级查询做了支持,
MyBatis 高级查询分为如下三种:
(1)一对一
(2)一对多
(3)多对多
「MyBatis 高级查询 也被称为 MyBatis 高级结果映射」
2、案例:用户、订单、订单详情、商品的关系
(1)一对一
1)场景:订单和用户的关系
2)描述:相对于订单来说,一个订单只能属于一个用户
PS:实际上,订单和用户的关系是一对多,这里采用了
相对的概念,从单向看,就是一对一
(2)一对多
1)场景:订单和订单详情的关系
2)描述:一个订单可以有多个订单详情,一个订单详情只能属于一个订单
(3)多对多
1)场景:订单和商品的关系
2)描述:一个订单可以有多个商品,一个商品可以属于多个订单
PS:这里需要订单详情在中间,以维护关系
3、建表
(1)一对一
1)通过外键建立关系:假设一对一的任意一方为多,在多的那一方创建
字段作为外键,指向一的那一方的主键,并将外键设置为唯一
2)通过主键建立关系:一方的主键对应另一方的主键
(2)一对多:通过外键建立关系
在多的那一方创建字段作为外键,指向一的那一方的主键
(3)多对多:创建第三张表维护关系
第三张表至少要有两个字段作为外键,分别指向多对多双方的主键
【made by siwuxie095】