要實現mybatis的數據懶加載,需要進行相關配置,首先要在mybatis的configuration中添加如下設置
<settings> <setting name="lazyLoadingEnabled" value="true"/> <setting name="aggressiveLazyLoading" value="false"/> </settings>
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.sealong.dao.IUserDao"> <resultMap id="UserAccount" type="com.sealong.domain.User"> <id property="id" column="id"></id> <result column="username" property="username"></result> <result column="birthday" property="birthday"></result> <result column="sex" property="sex"></result> <result column="address" property="address"></result> <!--select中的值,需要進行數據懶加載的方法 column爲方法中所要傳入的參數 accounts爲對象User中的一個屬性名 ofType爲accounts屬性名所對應的對象類 --> <collection property="accounts" select="com.sealong.dao.IAccountDao.findAccountByUId" column="id" ofType="Account"></collection> </resultMap> <select id="findAll" resultMap="UserAccount"> select * from user </select> </mapper>