一、历史回顾
(一)、关联查询
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接口:
接口测试类:
网友评论