概述
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(四)——延迟加载策略所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复