MyBatis:懒加载实例超详细讲解(10)

本文深入探讨了MyBatis的懒加载机制,解释了什么是懒加载,即按需加载数据以提升数据库性能。通过举例说明,展示了如何在mapper中配置和测试懒加载,特别是对于关联查询的处理。在测试过程中,发现即使未使用关联数据,查询也并未执行,而在需要关联信息时,才会执行相应的SQL。此外,文章提到了一级缓存的作用,指出在相同作用域下,相同参数和SQL只会执行一次,这在一定程度上解释了为何在某些情况下,查询次数少于预期。需要注意的是,使用debug可能会影响懒加载的显示效果。
摘要由CSDN通过智能技术生成

mapper里的sql操作,不懂得看之前博文,这里只对懒加载做讲解

什么是懒加载?

按需加载,先从单表查询,需要时再去从关联表去关联查询,能大大提升数据库性能,并不是所有场景下使用懒加载都能提高效率

Mybatis懒加载

像之前博文做为大家做的resultMap联表查询里面的的association、collection有延迟加载功能

下面的示例就是对之前的操作进行修改,当一个需求不需要联表查询,而你这条sql中还涉及联表怎么办

开启懒加载

<!--全局参数设置-->
<settings>
    <!--延迟加载总开关-->
    <setting name="lazyLoadingEnabled" value="true"/>
    <!--将aggressiveLazyLoading设置为false表示按需加载,默认为true-->
    <setting name="aggressiveLazyLoading" value="false"/>
</settings>

Step1:对之前的订单操作做更改

<!--懒加载-->
    <resultMap id="VideoOrderResultMapLazy" type="VideoOrder">
        <id column="id" property="id"></id>

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值