当前位置: 代码迷 >> 综合 >> SSM框架day02-MyBatis——054——延迟加载-基本概念
  详细解决方案

SSM框架day02-MyBatis——054——延迟加载-基本概念

热度:66   发布时间:2023-12-21 03:03:35.0
延迟加载
1.什么是延迟加载?
也称为懒加载,LazyLoading。
当代码中执行到查询语句时,并不是直接到DB中执行select语句进行查询,而是根据设置好的延迟策略,将查询向后推迟,这就称为延迟加载。
使用延迟加载可以减轻DB服务器的压力。

2.MyBatis的延迟加载
1)只能对关联对象进行查询时,使用延迟加载策略。对于主加载对象,均采用直接加载。
2)要应用延迟加载查询,只能使用多表单独查询,而不能使用多表连接查询。因为多表连接查询的本质是查询一张表,将多张表首先连接为了一张
表后,再进行的查询。查询一个信息,就会将所有信息全部查询到。

3.基本概念
1)主加载对象

2)关联对象

3)主表

4)关联表,也称为从表

4.延迟加载策略
延迟加载策略是指导DB中真正执行select语句进行查询的时机设置。
MyBatis中的延迟加载策略共分为三种:
1)直接加载:代码中执行到查询语句,马上就到DB中执行select查询。
2)侵入式延迟加载:将关联对象的详情侵入到了主加载对象详情之中,作为主加载对象的详情的一部分出现。当要访问主加载对象的详情时
,需要将主加载对象所以详情进行查询,但由于关联对象详情的一部分出现了,所以,这个查询不仅会查询主表,还会查询关联表。
3)深度延迟加载:当需要访问主加载对象详情时,只会查询主表,而不会查询关联表。只有当真正访问关联对象时,才会查询关联表。
  相关解决方案