延迟查询是一对一和一对多查询的延续。
在默认的一对一和一对多中,一条SQL就能够查询到所有数据,但是,有的数据有时候一时半会用不上,例如查询员工,捎带获取员工的部门数据,但是部门数据使用的频率很低,这种时候可以使用延迟查询,首先获取到所有的员工数据,然后在需要的时候再去获取部门数据。当需要使用数据的时候才去加载既是延迟加载
##开启延迟配置
Settings配置
###全局配置文件中配置
Mybatis-cfg.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 导入外部资源 -->
<properties resource="db.properties"/>
<!-- 开启延迟加载 -->
<settings>
<setting name="lazyLoadingEnabled" value="true" />
<setting name="aggressiveLazyLoading" value="false" />
</settings>
<!-- 自定义别名 -->
<typeAliases>
<typeAlias type="com.zsl.pojo.Emp" alias="emp"/>
<typeAlias type="com.zsl.pojo.Dept" alias="dept"/>
</typeAliases>
<!-- 环境 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<