【MyBatis】学习笔记13:延迟加载(懒加载)

Mybatis13:延迟加载(懒加载)

延迟加载是分步查询的好处,默认是不开启延迟加载的,要开启需要在核心配置文件中设置全局配置信息

【应当开启,即设置为true】【默认值False】延迟加载的全局开关属性:lazyLoadingEnabled 开启是所有关联对象都会延迟加载

【应该关闭】【默认值False(true<3.4.1)】aggressivelazyloaing 若开启该属性,则任何方法调用都会加载该对象的所有属性;关闭该属性,则每个属性会按需加载

image.png

测试

基于学习笔记12(【MyBatis】学习笔记12:通过级联属性赋值解决多对一的映射关系 - 萌狼蓝天 - 博客园 (cnblogs.com))

测试1

如果,设置 <setting name="lazyLoadingEnabled" value="false"/>

image.png

如果,设置 <setting name="lazyLoadingEnabled" value="true"/>

image.png

测试2

如果,设置 <setting name="lazyLoadingEnabled" value="false"/>

image.png

如果,设置 <setting name="lazyLoadingEnabled" value="true"/>

image.png

部分特殊情况处理

全局延迟加载开启后,若是部分功能无需延迟加载,则可以按照以下情况操作

image.png

属性 fetchType

当开启全局延迟加载之后,可通过此属性手动控制延迟加载效果

参数:

  lazy:延迟加载

  eager:立即加载

【Mybatis】学习笔记01:连接数据库,实现增删改

【Mybatis】学习笔记02:实现简单的查

【MyBatis】学习笔记03:配置文件进一步解读(非常重要)

【MyBatis】学习笔记04:配置文件模板

【MyBatis】学习笔记05:获取参数值的两种方式

【MyBatis】学习笔记06:各种查询所返回数据的数据类型

【MyBatis】学习笔记07:模糊查询

【MyBatis】学习笔记08:批量删除

【MyBatis】学习笔记09:批量删除

【MyBatis】学习笔记10:添加功能获取自增的主键

【MyBatis】学习笔记11:解决字段名和属性的映射关系

【MyBatis】学习笔记12:通过级联属性赋值解决多对一的映射关系

posted @ 2022-04-15 20:11  萌狼蓝天  阅读(98)  评论(0编辑  收藏  举报