MyBatis的分布查询延迟加载(select_resultMap)

来源:互联网 发布:湖北大学知行学院宿舍 编辑:程序博客网 时间:2024/06/07 21:10

MyBatis的分布查询延迟加载(select_resultMap)

<!-- 分布好处  可以使用延迟加载      Employee==>Dept           我们每次查询Employee对象的时候,都将一起查询出来。           部门信息在我们使用的时候再去查询           分段查询的基础之上加上两个配置  -->

mybatis-config.xml  改变配置文件

<settings><setting name="mapUnderscoreToCamelCase" value="true" />  //驼峰命名法<!-- 懒加载 ,延迟加载--><setting name="lazyLoadingEnabled" value="true"/> <!-- 立即加载 --><setting name="aggressiveLazyLoading" value="false"/></settings>
测试方法
@Testpublic void test05() throws IOException{SqlSessionFactory sqlsessionFactory=getSqlSessionFactory();// 1  获取到的sqlsession不会自动提交数据SqlSession openSession=sqlsessionFactory.openSession();try{EmployeeMapperPlus mapper=openSession.getMapper(EmployeeMapperPlus.class);//级联查询 /*Employee empAndDept=mapper.getEmpAndDept(1);            System.out.println(empAndDept.getLastName());*///System.out.println(empAndDept.getDept());// 分布查询Employee  employee=mapper.getEmpByIdStep(1);System.out.println(employee.getLastName());//System.out.println(employee.getDept());}finally{openSession.commit();}}
在开启延迟加载的情况下

<setting name="lazyLoadingEnabled" value="true"/> 



在没有开启延迟加载的情况,立即加载

<setting name="aggressiveLazyLoading" value="false"/>

所以好处就是

<!-- 分布好处  可以使用延迟加载      Employee==>Dept           我们每次查询Employee对象的时候,都将一起查询出来。           部门信息在我们使用的时候再去查询           分段查询的基础之上加上两个配置  -->

原创粉丝点击