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>

posted @ 2022-09-17 21:29  呆萌老师  阅读(16)  评论(0编辑  收藏  举报