软件架构设计实践— 基于SSM框架 课件 第11章 多表关联映射.pptx

软件架构设计实践— 基于SSM框架 课件 第11章 多表关联映射.pptx

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

软件架构设计实战——基于SSM框架SoftwareArchitectureDesignPracticeBasedonSSMFramework

第11章多表关联映射123关联关系基础一对一关联操作一对多关联操作4多对多关联操作5使用MyBatis注解

关联关系基础表与表的关系主要包括一对一、一对多、多对多等,在数据库建表的时候,也会通过主键与外键约束建立表之间的关联关系。1

一对一关联操作在一对一的多表关联操作中,需要在结果映射resultMap元素中添加association子元素,其配置代码如下所示。2

一对一关联操作association元素提供了一系列属性用户维护数据表关系,如表所示2

一对一关联操作接下来以“驾校学员信息管理系统”中学员与练车卡之间的一对一关联,进行相应操作的讲解。2

一对一关联操作1.数据准备在数据库driverschooldb中添加数据表t_stu_carcard,用于存储学员的练车卡信息,其SQL语句如下所示。2

一对一关联操作2.创建POJO类在工程项目ORMdemo1的包com.hrbust.po中新建实体类StuCarCard用于学员卡信息的管理.2

一对一关联操作3.创建接口类在工程的com.example.ssm.dao包中新建接口IStuCarCardDao,其中声明查询练车卡信息的方法findStuCarCardById,查询参数card_id,具体代码如下所示。2

一对一关联操作4.创建映射文件在工程项目的com.example.ssm.mapper包中新建StuCarCardMapper.xml文件,主要定义学员练车卡信息相关操作的语句.2

一对一关联操作5.创建测试方法并运行在MybatisTest测试类中,添加新方法findStuCarCardByCardId,在这里使用前面定义好的工具类MyBatisUtil,并采用getMapper的方式进行接口映射,代码如下所示。2

一对一关联操作2/***根据card_id查询练车卡信息,并通过一对一关联查询出学员信息*/@TestpublicvoidfindStuCarCardByCardId(){//1、通过工具类获得SqlSession对象SqlSessionsession=MyBatisUtil.getSession();//通过getMapper方法,进行接口映射IStuCarCardDaostuCarCardDao=session.getMapper(IStuCarCardDao.class);//调用接口中的方法,返回查询结果StuCarCardstuCarCard=stuCarCardDao.findStuCarCardById(2);//打印查询结果System.out.println(stuCarCard);}

一对一关联操作在这里采用嵌套结果的方式,在查询练车卡信息的时候,查询出了学员的相关信息,其实这里也可以采用嵌套查询的方式,在StuCarCardMapper.xml文件中添加如下代码。2

一对多关联操作单向一对多操作单向多对一操作3

3.1单向一对多操作与一对一关联关系相比,在项目开发中使用更多的是一对多的关联关系,而且在现实生活中很多实体之间的关联也都是一对多的。通常情况下,使用MyBatis来处理一对多关系的时候,需要在映射结果集resultMap元素中添加collection子元素。collection子元素的属性大部分与association子元素相同,但是它还包含了一个特殊属性——ofType。ofType属性与javaType属性对应,它用于指定实体对象中集合类属性所包含的元素类型。

3.1单向一对多操作collection元素的使用也比较简单,可以采用嵌套查询和嵌套结果的方式进行,代码示例如下所示。

3.1单向一对多操作1.数据准备在数据库mybatis中添加数据表t_car_coach,用于存储教练的相关信息,其SQL语句如下所示。

3.1单向一对多操作在本案例中由于教练与学员之间是一对多的关联关系,教练是“一”,学员是“多”,因此要在学员的数据表中添加教练数据表的主键作为外键进行约束。给t_student数据表添加外键的SQL语句如下所示。

3.1单向一对多操作2.创建POJO类在包com.example.ssm.pojo中新建实体类Coach(教练),其代码如下所示。

3.1单向一对多操作3.创建接口类在工程项目的src目录下com.example.ssm.dao包中

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档