一、历史回顾
(一)、关联查询
1、大多框架都分别讲解
一对一
一对多
多对一
多对多
2、Mybatis只有两种:
一对一
一对多(多对一、多对多的本质就是一对多的变化)
二、一对一以及一对多关联查询详解
(一)、一对一
1、业务扩展类

业务关联
注:这里需要card表有主键,并且person表的cardId外键关联card表的主键id。
核心:用resultType执行的类的属性包含多表查询的所有字段。例:上图中person的所有字段 + card的所有字段。

用这个类来做resultType的结果集
xxxMapper.xml配置方式:

xxxMapper.xml配置
例:
实体类:

Person类

Card类

做resultType的结果集的类
xxxMapper.xml配置:

xxxMapper.xml配置
xxxMapper接口:

xxxMapper接口
测试类:

测试类
2、resultMap
(1)、这里不使用中间关联两个表的,各使用各的。通过属性成员来实现,例:这里把Card当做Person的一个成员,这样使两个类关联起来。

图示
(2)、xxxMapper.xml配置:

配置
例:
xxxMapper.xml配置:

配置
xxxMapper接口:

接口
实体类:

实体
测试类:

测试类
(二)、一对多关联查询
1、业务扩展

关联图示
2、关联实体类图示

图1
注:这里的Person类不变。
3、数据库设计

Person表

City表
xxxMapper.xml配置:

配置:
例:
数据库设计:

person表

citiy表
实体类关联:

person类

citiy类
xxxMapper.xml配置:

配置
xxxMapper接口:

接口
测试类:
