mybatis延迟加载

  当需要的时候到数据库中查询,

  1)首先在总配置文件中加

  <settings>

     <!-- 启用延迟加载  -->

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

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

  </settings>

   2) 在相应的配置文件中 

 <resultMap type="userbean" id="many2oneMap"

        <id column="uuid" property="userid"/>

        <result column="username" property="username"/>

        <association property="dep" javaType="cn.hd.po.Dept" column="did" select="findDeptByDid">

           <id column="did" property="did"/>

           <result column="depname" property="dname"/>

        </association>

     </resultMap>

    <select id="findDeptByDid" resultType="dept" parameterType="int">

    select * from t_dept where did=#{did}

    </select>

    <select id="queryAll"  resultMap="many2oneMap" >

      select userid as uuid,username,did

      from t_user t1

    </select>

  优点:需要再到数据库中查询,所以某个角度来说是可以提高效率

  缺点:会产生N+1问题

    

原文地址:https://www.cnblogs.com/joyous-day/p/6137681.html