分步查询的优点:延迟加载


分步查询的优点:延迟加载

当我们只访问员工信息时候,是不会执行分步查询的第二条sql去查询部门信息的,也就是按需查询

访问:

访问员工信息Emp.getename() -->get方法

访问部门信息Emp.getdept() -->get方法,不访问dept属性则不调用第二条sql去查询部门信息

开启延迟加载

在配置文件中配置两个属性

1.lazyLoadingEnabled

默认关闭延迟加载,要设置为true

2.aggressiveLazyLoading

mybatis 3.4.1版本以上默认关闭,要求也是关闭,所以不设置,但是要知道

    mybatis 3.4.1以上版本配置文件中可以不写这条

 

3.非延迟加载

在开启延迟加载后,所有的分步查询都将进行延迟加载,对于部分的分步查询,不需要使用延迟加载的时候,可以设置fetchtype

fetchType="eager"      立即加载
fetchType="lazy"       延迟加载