配色: 字号:
第13章 MyBatis的关联映射
2022-09-26 | 阅:  转:  |  分享 
  
Spring+SpringMVC+MyBatis框架技术精讲与整合案例第13章MyBatis的关联映射第13章MyBatis的关联
映射1.一对一关联映射2.MyBatis下载与安装2.一对多关联映射3.多对多关联映射13.1一对一关联映射在现实
生活中,一个人只能有一个身份证,一个身份证只能对应一个人,人和身份证之间就是一对一关系。以人和身份证为例,使用MyBatis框架处
理它们之间的一对一关联关系的步骤如下所示。(1)创建数据表(2)将项目mybatis1复制并命名为mybatis4,
再导入到Eclipse开发环境中。(3)创建实体类(4)创建MyBatis映射文件(5)创建Mapper接口(
6)引用映射文件(7)测试一对一关联映射13.2一对多关联映射在实际开发中,一对多关联关系要比一对一更为常见。例如
,订单与订单明细之间就是一对多关系。一个订单有多条明细信息,一条订单明细信息对应一个订单。同样,商品类别与商品之间也是一对多关系。
一个商品类别对应有多个商品,一个商品属于一个类别。以数据库eshop中的商品类别表type和商品表product_info为例
,针对数据查询、插入和删除操作,使用MyBatis框架处理它们之间的一对多关联关系。13.2一对多关联映射1.数据查询(
嵌套查询)数据查询是根据商品类型编号从数据表type中查询商品类型,并查询关联的商品列表。其具体实现步骤如下。(1)将项目
mybatis1复制并命名为mybatis5,再导入到Eclipse开发环境中。(2)创建实体类(3)创建MyBatis映
射文件(4)创建Mapper接口(5)引用映射文件(6)测试一对多关联映射13.2一对多关联映射1.数据查询(
嵌套结果)在映射文件TypeMapper.xml中,一对多关联映射是通过执行另一个返回预期类型的映射SQL语句,即引用外部定义好
的SQL语句块,这种关联映射查询方式也称为嵌套查询。此外,MyBatis还提供了另一种关联映射查询方式——嵌套结果,它通过嵌套结
果映射来处理联接结果集的重复子集。还是以类别表type和商品表product_info的一对多关联查询为例,使用嵌套结果查询方式
的步骤如下所示。(1)在映射文件TypeMapper.xml中,编写使用嵌套结果查询方式进行一对多关联查询的配置。(2)在接
口TypeMapper中,添加一个方法findTypeById2。(3)添加测试方法。13.2一对多关联映射2.数据插
入数据插入操作要实现将数据同时插入数据表type和product_info,其具体实现步骤如下。(1)在映射文件TypeM
apper.xml中,编写将数据插入数据表type的配置。(2)在接口TypeMapper中,添加一个addType方法。(
3)在映射文件ProductInfoMapper.xml中,编写将数据插入数据表product_info的配置。(4)在com.
mybatis.mapper包中,创建ProductInfoMapper接口,并添加一个addProductInfo方法。(5)
添加测试方法13.2一对多关联映射3.数据删除数据删除操作要实现从数据表type删除记录时,将关联表product_in
fo中的记录也删除,其具体实现步骤如下。(1)在映射文件TypeMapper.xml中,编写删除数据的配置。(2)在接口
TypeMapper中,添加一个deleteTypeById方法。(3)添加测试方法13.3多对多关联映射在实际开发中,
多对多关联关系也比较常见。例如,订单与商品之间就是多对多关系。一个订单可以包含多个商品,一个商品可以属于多个订单。同样,管理员与系
统功能之间也是多对多关系。一个管理员可以拥有多个功能权限,一个系统功能可以属于多个用户。以数据库eshop中的管理员表admi
n_info和系统功能表functions为例,它们之间通过中间表powers来关联,这个中间表分别与admin_info和fun
ctions构成多对一关联。中间表powers以aid和fid作为联合主键,其中,aid字段作为外键参照admin_info表的i
d字段,fid字段作为外键参照functions表的id字段。13.3多对多关联映射以数据查询操作为例,使用MyBatis框
架处理它们之间的多对多关联关系,其具体实现步骤如下。(1)将项目mybatis1复制并命名为mybatis6,再导入到Eclip
se开发环境中。(2)创建实体类(3)创建MyBatis映射文件(4)创建Mapper接口(5)引用映射文件(6)测试
多对多关联映射13.4小结本章针对实际开发中涉及到的数据表之间的一对一、一对多和多对多三种比较常见的关联关系,着重以数据查询操作为例,详细讲解了使用MyBatis框架处理这三种关联关系的具体过程。
献花(0)
+1
(本文系太好学原创)