Mybatis的懒加载

Mybatis的懒加载
(尊重劳动成果,转载请注明出处:https://blog.csdn.net/qq_39778516/article/details/84191689 consistencely的博客)
1、什么是延迟加载?
在进行表关联查询的时候,是一次性的将所有数据都查出来了,导致有些数据暂时用不到,降低了查询效率。这就是立即加载。
延迟加载就是在需要这些关联的表数据的时候才去查询数据库,也叫懒加载(按需加载)
2、延迟加载的注意事项:
一般我们在执行一对一操作的时候使用立即加载
在执行一对多的操作的时候使用懒加载
3、如何使用懒加载?
在主配置文件中开启懒加载
Mybatis的懒加载_第1张图片
4、一对一的懒加载
在IAccount.xml中配置子查询
Mybatis的懒加载_第2张图片
Association里面的属性:
Property:Account实体类中对应是user属性
Column:指的是子查询的时候传递过去的参数(必须)
javaType:指的是子查询返回的数据类型
select:指向的是子查询的方法:包含了IUserDao接口类全路径和方法名
5、一对多的懒加载
Mybatis的懒加载_第3张图片
Collection属性分析:
Property:对应的是User实体类的accounts属性
ofType:子查询封装的是哪个实体类
select:指定的是子查询的方法:包含了IAccountDao的类全路径和方法名
column:指的是要传递给子查询的参数
6、多对多的懒加载
IRoleDao.xml的配置:
Mybatis的懒加载_第4张图片
IRoleDao.xml的sql语句编写:
在这里插入图片描述
IUserDao.findUserByRid的sql语句编写:
在这里插入图片描述

你可能感兴趣的:(框架)