延时加载配置
打开延时加载装置
<settings>
<!--打开延时加载开关-->
<setting name="lazyLoadingEnabled " value="true"/>
<!--将积极加载改为消极加载即延时加载-->
<setting name="aggressiveLazyLoading " value="false"/>
</settings>
resultMap下可以实现高级映射(Association和Collection实现高级映射)
association和Collection具备延时加载功能
以association为例讲解
select属性:指定延时加载需要执行的Statement的Id()
使用的mapper.xml中selectUserById是在UserMapper的namespace中的StatementId,
不在本mapper.xml文件中,需要给定全限定名
<resultMap id="orderMap1" extends="orderMap" type="com.wrj.maventest.Mybatis.pojo.Orders">
<association property="user" column="id={user_id}" select="com.wrj.maventest.Mybatis.mapper.UserMapper.selectUserById"/>
</resultMap>
<select id="selectOrdersByNumber" resultMap="orderMap1">
select * from orders where number=#{number}
</select>
?
分析日志:分别通过两个SQL来进行查询
第一个:selectOrdersByNumber
第二个:selectUserById
|