要实现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>