已阅读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-2030中国家用阁楼梯子行业运行态势与投资效益预测报告
- 2026年春浙科版(新教材)初中综合实践活动九年级下册(全册)同步练习及答案
- 光模块设备行业市场前景及投资研究报告:AI带动光模块需求封装测试设备商充分受益
- 沙尘暴防治技术
- 2025-2026学年鞍山市高三最后一模化学试题(含答案解析)
- 某陶瓷制品厂质量管理准则
- 某铝业厂熔铸操作管理制度
- 某家具厂木材加工流程办法
- 2026年制造业数字化转型战略部署:趋势、路径与实践
- 次氯酸钠发生器检修规程
- 2026年北京理工大学博士英语真题及答案
- 山东中烟工业有限责任公司招聘笔试题库2026
- 基因型知识点讲解课件
- 2026年匹克球裁判员考核题库含答案
- DB31∕T 1566-2025 智能网联汽车高快速路测试技术规范
- 基于多技术融合的地铁站冷水机组故障检测与诊断模拟深度探究
- 小学语文场景式教学设计案
- 2025年医院医务人员医药领域腐败问题集中整治廉洁从业承诺书
- DB51∕T 3199-2024 市(州)、县(市、区)标杆政务大厅建设规范
- 立体几何中的截面问题(附答案解析)-全国高考数学一轮复习(提高版)
- 服装面料图案搭配课件
评论
0/150
提交评论