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

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

Mybatis13:延迟加载(懒加载)


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

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

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

q6.png

测试

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

测试1

如果,设置

<setting name="lazyLoadingEnabled" value="false"/>

q5.png

如果,设置

<setting name="lazyLoadingEnabled" value="true"/>

q4.png

测试2

如果,设置

 <setting name="lazyLoadingEnabled" value="false"/>

q3.png

如果,设置

 <setting name="lazyLoadingEnabled" value="true"/>

q2.png

部分特殊情况处理

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

q1.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:通过级联属性赋值解决多对一的映射关系

相关文章
|
8月前
|
SQL Java 数据库连接
|
2月前
|
SQL Java 关系型数据库
MyBatisPlus学习笔记(SpringBoot版)
MyBatisPlus学习笔记(SpringBoot版)
104 0
|
2月前
|
存储 缓存 Java
【MyBaits】4、延迟加载、MyBatis 的缓存
【MyBaits】4、延迟加载、MyBatis 的缓存
23 0
|
4月前
|
Java 数据库连接 mybatis
Mybatis中延迟加载~
Mybatis中延迟加载~
|
9月前
|
XML Java 数据库连接
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-mybatis的概述2
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-mybatis的概述2
38 0
|
4月前
|
Java 数据库连接 mybatis
一文彻底搞懂Mybatis系列(十二)之MyBatis多对一映射延迟加载(association和lazyLoadingEnabled)
一文彻底搞懂Mybatis系列(十二)之MyBatis多对一映射延迟加载(association和lazyLoadingEnabled)
|
8月前
|
SQL Java 关系型数据库
|
8月前
|
SQL Java 关系型数据库
|
8月前
|
SQL Java 关系型数据库