我是靠谱客的博主 风中书本,最近开发中收集的这篇文章主要介绍MyBatis(四)——延迟加载策略,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MyBatis(四)——延迟加载策略

有两种写法来表示查询信息,分别是链表查询和分步查询的方法。那么既然我么能用一个SQL语句能够执行完,那为什么还要分开来写呢?

原因很简单:可以发现如果我们把他们连在一起那么他们就是一个多表查询语句,如果不放在一起执行,那那就是单独一个表的查询语句。但是这需要我们设置mybatis的延迟加载(懒加载)

分步查询的优点:

**可以实现延迟加载,**但是必须在核心配置文件中设置全局配置信息

lazyLoadingEnabled:延迟加载的全局开关。当开启时,所有关联对象都会延迟加载

aggressiveLazyLoding:当开启时,任何方式的调用都会加载该对象的所有属性。否则,该属性会按需加载 ,此时就可以实现按需加载,需要获取的数据是什么,就只会执行相应的sql.此时会通过association和collection中的fetchType属性设置当前的分步查询是否使用懒加载

fetchType=“lazy(延迟加载) | eager(立即加载)”

1.在主配置文件当中设置延迟加载

延迟加载:在SqlMapConfig.xml中配置延迟加载文件

<settings>
    <setting name="logImpl" value="STDOUT_LOGGING" />  <!-- 打印日志到控制台上 -->
    <setting name="lazyLoadingEnabled" value="true"/>   
    <setting name="aggressiveLazyLoading" value="false"/>   <!-- false才会按需加载,不开启调用所有的对象 -->
</settings>

在这里插入图片描述

2.在studentDao.xml当中设置分步查询

在这里插入图片描述

3.测试结果:

此时开启了懒加载,实现了分布查询

3.测试结果:

此时开启了懒加载,实现了分布查询
在这里插入图片描述

最后

以上就是风中书本为你收集整理的MyBatis(四)——延迟加载策略的全部内容,希望文章能够帮你解决MyBatis(四)——延迟加载策略所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部