標籤:lazy load sel lazyload resultmap lis loading color address
使用mybatis的消極式載入,需要兩個步驟:
1.在全域設定檔中添加一下語句(lazyLoadingEnabled預設為false,aggressiveLazyLoading預設為true)
<settings> <!-- 消極式載入總開關 --> <setting name="lazyLoadingEnabled" value="true"/> <!-- 侵入式延遲 --> <setting name="aggressiveLazyLoading" value="false"/></settings>
2.寫好對應檔
<resultMap type="User" id="CacheTest"> <id column="id" property="id" /> <result column="username" property="username" /> <result column="birthday" property="birthday" /> <result column="address" property="address" /> <!-- column相當於傳入parameter ofType相當於resultType --> <collection property="orderList" column="id" ofType="Order" select="resultMap.resultMapMapper.CacheTestSelect"> <result column="number" property="number" /> <result column="createtime" property="createtime" /> </collection></resultMap><select id="CacheTest" resultMap="CacheTest"> select * from user</select><select id="CacheTestSelect" parameterType="int" resultType="Order"> select * from orders where user_id = #{id}</select>
這樣查詢一開始會執行select * from user
然後當讀取到orderList時才會執行select * from orders where user_id = #{id}
Java_myBatis_消極式載入