Mybatis——懒加载(延迟加载)

我们在做关联查询之后,默认懒加载是没有开启的,如果我们的查询没有用到被关联表的信息,没有懒加载也是会把被关联表里的内容查出来的,这必然是浪费了资源,我们开启懒加载之后,只有使用该表的内容的时候,mybatis才会调用查询语句。
在这里插入图片描述
配置的时候,在映射表的时候,在我们想要执行懒加载的对应的映射处加入"fetchType"属性,值为lazy(懒加载),eager(立即加载,默认)。我们来看看效果

public class Account {
    private Integer id;
    private String name;
    private Float money;
    private Integer u_id;
    private User user;
}
public class User {
    private Integer id;
    private String username;
    private String password;
    private String address;
    private Date birthday;
    private String sex;
}

在这里插入图片描述
当我们只需要获取account类里面的属性的时候,是没有去user表里面查询内容的,当我们关闭lazy之后,看看是什么情况。
在这里插入图片描述
很明显,这里我也只是查询了account的名字,但是他还给把关联的user表中的内容查询了一遍,虽然没有打印出来,但是也是造成了资源浪费。

全局配置

如果我们很多地方都要设置懒加载,那么我们就可以在mybatis-config.xml中的settings标签中设置全局懒加载。
在这里插入图片描述
当我们设置全局懒加载之后,肯定是有些地方不需要懒加载,那么我们就可以用fetchType属性设置为eager来覆盖全局懒加载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值