




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章MyBatis使用进阶,本章内容,高级关联集合映射关联优化,本章目标,掌握关联结果的配置与使用掌握集合映射的配置与使用掌握关联的嵌套结果,关联,关联关系是一种结构化的关系,指一种对象和另一种对象有联系。给定关联的两个类,可以从其中的一个类的对象访问到另一个类的相关对象。在UML图中,关联关系用一条实线来表示。关联可以有方向,表示该关联在某方向被使用。只在一个方向上存在的关联,称为单向关联(UnidirectionalAssociation),在两个方向上都存在的关联,称为双向关联(BidirectionalAssociation),关联配置,关联元素处理“有一个”类型的关系。例如,一篇博客有一个作者,多个评论属于同一个博客。关联映射便工作于这种情况之上。一对一和多对一的关联在mybatis中均使用同一种配置来完成。publicclassBlogimplementsSerializableprivateIntegerid;privateAuthorauthor;/博客关联的作者对象privateStringtitle;privateStringcontent;privateDatecreateTime;privateinttype;/.,关联配置,语法:,select*fromauthorwhereid=#idselect*fromblogwhereid=#id,关联配置,实现博客获取作者信息博客关联作者通过博客访问作者信息,关联配置,如何解决N+1查询问题?,集合映射,如何实现一个对象找到一个集合对象,实现一对多的关系?,集合映射,集合映射,实现从一篇博客到多个评论的关联语法:,select*fromcommentwhereblog_id=#idselect*fromauthorwhereid=#idselect*fromblogwhereid=#id,集合映射,通过一篇文章找到该文章的所有评论信息实现一对多的关联(集合映射)推荐步骤在实体类中添加集合关联配置关联获取数据,配置与性能优化,在前面的配置中(关联配置,集合映射配置)都会出现一个N+1查询问题每次执行一次查询都会伴随着另一个查询语句来加载关联的对象或集合,如果加载的关联数据较多,则执行的查询语句次数会增加。使用嵌套结果来提高查询效率,嵌套结果的使用,关联映射的嵌套结果,selectB.id,B.title,B.author_id,B.content,B.create_time,B.type,A.id,A.username,A.password,A.email,A.address,A.phonefromBlogBleftouterjoinAuthorAonB.author_id=A.id,嵌套结果的使用,在配置中,我们使用了resultMap=authorResult来设置结果映射的ID,可以映射关联的嵌套结果到一个合适的对象中。允许联合多个表来合成到一个单独的结果集,不同于前面的嵌套查询使用多个查询语句。,集合嵌套结果,在集合映射中,使用结果嵌套与在关联中类似,此处不作赘述,修改后的BlogMapper.xml配置文件代码如下:selectB.*,C.id,C.contentascomment_content,C.postDatefromBlogBleftouterjoinCommentConb.id=c.blog_idwhereB.id=#id,嵌套结果,使用嵌套结果重构前面的案例,总结,在mybatis中,可以通过关联映射与集合映射来实现多对一和一对多的关系,这样即可很方便地通过一个对象找到关联的其他对象或通过一个对象找到关联的多个对象,以便于获取数据。关联映射用于实现对象之间一对一、多对一的情况,通过配置association标签来实现关联。集合映射用于实现对象之间一对多的关联,通过配置collection标签来实现。在关联中加载对象,mybatis使用了两种不同的方式:(1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《幼儿教师招聘》考前冲刺练习试题含答案详解(黄金题型)
- 股票池维护工具创新创业项目商业计划书
- 2025年教师招聘之《幼儿教师招聘》每日一练试卷附参考答案详解【综合题】
- 2025年教师招聘之《幼儿教师招聘》通关练习题库包带答案详解(典型题)
- 2025年教师招聘之《小学教师招聘》考前冲刺练习题库a4版附答案详解
- 教师招聘之《小学教师招聘》复习提分资料含答案详解(b卷)
- 教师招聘之《幼儿教师招聘》能力检测试卷附答案详解(突破训练)
- 水文环境要素的无人同步实时测量技术
- 押题宝典教师招聘之《小学教师招聘》模考模拟试题【各地真题】附答案详解
- 2025年教师招聘之《幼儿教师招聘》预测试题及参考答案详解(黄金题型)
- 任正非的创业故事
- 学生实习家长知情同意书(完美版)
- 涉警网络负面舆情应对与处置策略
- 《英国政党制度》课件
- 幽门螺杆菌检测报告
- 农业经理人(中级)技能理论考试复习题库(含答案)
- 义务教育阶段中小学学生转学申请表
- 高速公路工程电子招标标准施工招标文件(2022年试行版)
- 云南省临沧县富康河铜矿勘探项目环评报告
- 公司档案分类方案
- 宋小宝小品《碰瓷》完整台词
评论
0/150
提交评论