解释Mybatis的延时加载
时间: 2024-01-15 12:04:11 浏览: 68
MyBatis懒加载(延迟加载)
MyBatis的延迟加载,也称为懒加载,是指在进行表的关联查询时,按照设置的延迟规则推迟对关联对象的select查询。具体来说,当进行一对多查询时,只查询出一方的数据,当程序中需要多方的数据时,MyBatis再发出SQL语句进行查询,从而减少数据库压力。延迟加载只对关联对象的查询有延迟设置,对于主加载对象则直接执行查询语句。\[1\]
正确使用延迟加载可以有效减少Java程序与数据库交互次数,提升整个系统的运行效率。延迟加载适用于多表关联查询的业务场景,而单表查询本身只涉及到一张数据表的查询,所以没有优化的余地。\[2\]
在MyBatis中,可以通过配置全局延迟加载来开启延迟加载的功能。在MyBatis的核心配置文件中,可以使用setting标签修改全局的加载策略。通过设置lazyLoadingEnabled为true来打开延迟加载的开关。同时,可以设置aggressiveLazyLoading为false来选择非侵入式延迟加载。\[3\]
#### 引用[.reference_title]
- *1* *3* [【Mybatis】Mybatis延迟加载及其原理和延迟加载配置](https://blog.csdn.net/twotwo22222/article/details/127669685)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [4. MyBatis 延迟加载](https://blog.csdn.net/qq_41775769/article/details/120090159)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文