​ MyBatis 延迟加载 ​

/*
*作者:呆萌老师
*☑csdn认证讲师
*☑51cto高级讲师
*☑腾讯课堂认证讲师
*☑网易云课堂认证讲师
*☑华为开发者学堂认证讲师
*☑爱奇艺千人名师计划成员
*在这里给大家分享技术、知识和生活
*各种干货,记得关注哦!
*vx:it_daimeng
*/

1.什么是延迟加载 (懒加载)

  resultMap中的association和collection标签具有延迟加载的功能。

  延迟加载的意思是说,在关联查询时,利用延迟加载,先加载主信息。使用关联信息时再去加载关联信息。


2.设置延迟加载

  需要在配置文件中,在<settings>标签中设置下延迟加载。

  lazyLoadingEnabled、aggressiveLazyLoading

设置项

描述

允许值

默认值

lazyLoadingEnabled

全局性设置懒加载。如果设为‘false’,则所有相关联的都会被初始化加载。

true | false

false

aggressiveLazyLoading

当设置为‘true’的时候,懒加载的对象可能被任何懒属性全部加载。否则,每个属性都按需加载。

true | false

true

<!-- 开启延迟加载 -->

   <settings>

      <!-- lazyLoadingEnabled:延迟加载启动,默认是false 相当于是否开启延迟加载 -->

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

      <!--aggressiveLazyLoading:积极的懒加载,falsed话按需加载,3.4.1(包含)之前为true,之后为false -->

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

        <!-- 开启二级缓存,默认是false -->

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

    </settings>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值