下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、延迟加载什么是延迟加载resultMap 可以实现高级映射(使用 association 、 collection 实现一对一及一对 多映射), association 、 collection 具备延迟加载功能。需求:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需 要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。延迟加载:先从单表查询、需要时再从关联表去关联查询,大大提高 数据库性能,因 为查询单表要比关联查询多张表速度要快。使用 association 实现延迟加载需求查询订单并且关联查询用户信息mapper.xml需要定义两个 mappe
2、r 的方法对应的 statement 。1、只查询订单信息SELECT * FROM orders在查询订单的 statement 中使用 association 去延迟加载(执行)下边的satatement( 关联查询用户信息 )2、关联查询用户信息通过上边查询到的订单信息中 user_id 去关联查询用户信息使用 UserMapper.xml 中的 findUserById上边先去执行 findOrdersUserLazyLoading ,当需要去查询用户的时候再去执行findUserById ,通过 resultMap 的定义将延迟加载执行配置起来延迟加载resultMap使用assoc
3、iation 中的select 指定延迟加载去执行的 statement的id。<!-延迟加载的 resultMap -><!-对订单信息进行映射配置-><id column ="id" property ="id" /><resultcolu mn ="user_id"property ="userld" /><resultcolumn ="number" property ="number" /><resu
4、ltcolu mn ="createtime"property ="createtime" /><resultcolumn ="note"property ="note" /><!-实现对用户信息进行延迟加载select :指定延迟加载需要执行的statement的id (是根据 user_id 查询用户信息的 statement )要使用userMapper.xml中findUserById 完成根据用户 id(user_id) 用户信息的查询,如果fin dUserById 不在本map
5、 per中需要前边 力卩 n amespacecolumn :订单信息中关联用户信息查询的列,是 user_id关联查询的sql理解为:SELECT orders.*,(SELECT username FROM USER WHERE orders.user_id =user.id)user name,(SELECT sex FROM USER WHERE orders.user_id = user.id)sexFROM orders-><associati onproperty ="user"<!-实现对用户信息进行延迟加载-></ assoc
6、iation></ resultMap >mapper.java测试测试思路:1、执行上边 mapper 方法(findOrdersUserLazyLoading ),内部去调用中的findOrdersUserLazyLoading只查询 orders 信息(单表)。2、 在程序中去遍历上一步骤查询出的List<Orders> ,当我们调用 Orders中的 getUser方法时,开始进行延迟加载。3、 延迟加载,去调用 UserMapper.xml 中findUserbyId这个方法获取用户信息延迟加载配置mybatis默认没有开启延迟加载,需要在SqlMapC
7、onfig.xml中setting配置。在mybatis核心配置文件中配置:lazyLoadingEnabled、aggressiveLazyLoading设置项描述允许值默认值lazyLoad ingEn abled全局性设置懒加载。如果设为 false ',贝U所有相关联的都会 被初始化加载。true | falsefalseaggressiveLazyLoadi ng当设置为 true '的时候,懒加载true |true的对象可能被任何懒属性全部加false载。否则,每个属性都按需加载。在 SqlMapConfig.xml中配置:测试代码延迟加载思考不使用mybatis 提供的association 及collection中的延迟加载功能,如何实现延迟加载?实现方法如下:定义两个mapper方法:1、查询订单列表2、根据用户id查询用户信息实现思路:先去查询第一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 竞争对手动向预测实施纲要
- 2026四川成都市成华区妇幼保健院社会招聘工作人员的15人备考题库及参考答案详解
- 2026云南昆明市妇幼保健院第一批编外人员招聘30人备考题库附答案详解(培优a卷)
- 2026云南昆明市妇幼保健院第一批编外人员招聘30人备考题库及答案详解(必刷)
- 2026广东江门市台山市卫生健康系统事业单位招聘43人备考题库及答案详解(典优)
- 2026年黄山市歙县消防救援大队公开招聘6名政府专职消防员备考题库参考答案详解
- 2026湖北襄阳市襄州区引进事业单位急需紧缺博士人才8人备考题库含答案详解(精练)
- 2026浙江衢州市龙游县新教师提前批招聘11人备考题库(江西师范大学)附答案详解(突破训练)
- 2026年西安高新区第五高级中学校园招聘备考题库含答案详解(考试直接用)
- 南瑞继保2027届实习生招聘备考题库附答案详解(考试直接用)
- 2026年高校教师资格证之高等教育心理学考试题库完美版
- 部编版小学六年级下册语文教学课件-【期中复习】重点课文内容复习
- 天津市武清区2025-2026学年高一化学第一学期期中监测模拟试题含解析
- 2025校招:Python开发笔试题及答案
- 2025年国家税务总局税务干部学院招聘36人笔试备考题库附答案详解
- 高中团课考试题目及答案
- T-CFA 0312011-2022 铸造用煤粉生产、运输、仓储安全规范
- March检伤课件教学课件
- 七脉轮课件教学课件
- 成都市中石油2025秋招写作申论万能模板直接套用
- 新质生产力与现代化产业体系
评论
0/150
提交评论