/*
*作者:呆萌老师
*☑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>