MyBatis的懒加载

来源:互联网 发布:软件开发的岗位 编辑:程序博客网 时间:2024/06/05 10:45

one_mapper.xml

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE mapper  
  3.   PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
  4.   "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
  5.     
  6. <!--  
  7.     一对多xml 
  8.  -->  
  9. <mapper namespace="cn.et.mybatis.lesson03.oneToMany.DeptMapper">  
  10.       
  11.     <!--   
  12.         一对多可能会出现内存溢出的风险  
  13.         设置属性fetchType="lazy"  
  14.         fetchType="lazy"  需要加载cglib架包  
  15.         这样一样只有用到第二种sql语句的时候才去加载,不用就不加载  
  16.      -->  
  17.     <resultMap type="cn.et.mybatis.lesson03.oneToMany.Dept" id="myDept">  
  18.         <collection column="deptno" javaType="java.util.List" property="empList"   
  19.         select="cn.et.mybatis.lesson03.oneToMany.DeptMapper.queryEmp"  
  20.         fetchType="lazy"  
  21.         ></collection>  
  22.     </resultMap>  
  23.       
  24.     <select id="queryDept" resultMap="myDept">  
  25.         select * from dept where deptno=#{0}  
  26.     </select>  
  27.       
  28.       
  29.     <select id="queryEmp" resultType="cn.et.mybatis.lesson03.oneToMany.Emp">  
  30.         select * from emp where deptno=#{0}  
  31.     </select>  
  32.       
  33. </mapper>