MyBatis:延迟加载介绍及配置

一、什么是延迟加载:

代码中有查询语句,当执行到查询语句时,并不是马上去DB中查询,而是根据设置的延迟策略将查询向后推迟。

二、MyBatis的延迟加载只能在对关联对象进行查询时使用延迟加载。

三、主加载对象、关联对象、主表、关联表的概念:

比如我们country表里有多个国家,minister表里有某个国家所对应的官员,我们查country时,并一带将其中的minister查出来,这里的Country就是主加载对象,对应的表就是主表,Minister就是关联对象,对应的表就是关联表。

四、延迟加载策略(指到DB中真正执行select语句进行查询的时机设置):

(一),直接加载:遇到代码中查询语句,马上到DB中执行select语句进行查询;【这种只能用于多表单独查询】

(二),侵入式延迟加载:将关联对象的详情(具体数据,如id、name)侵入到主加载对象,作为主加载对象的详情的一部分出现。当要访问主加载对象的详情时才会查询主表,但由于关联对象详情作为主加载对象的详情一部分出现,所以这个查询不仅会查询主表,还会查询关联表。

(三)、深度延迟加载:当需求访问主加载对象详情时,只会查询主表,而不会查询关联表,只有真正访问关联对象详情时,才会查询关联表。

五、使用延迟加载的目的:减轻DB服务器的压力。

六、配置(在主配置文件中配置):

注意:要在properties标签之后,typeAliases标签之前定义。

MyBatis:延迟加载介绍及配置

主配置文件延迟加载配置

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值