mybatis延迟加载策略
<?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"> <!--namespace 对应dao接口的路径--> <mapper namespace="com.sunny.dao.IAccountDao"> <!--一对一: 延迟加载查询(2) 结果集封装、以及延迟加载配置--> <resultMap id="accountResultMap" type="account"> <id property="accountId" column="accountId"></id> <result property="uid" column="uid"></result> <result property="money" column="money"></result> <!-- association 一对一,延迟加载 一对一 配置: property 对用account对象的user属性 javaType 就是user属性的类型(com.sunny.entity.User) column account表的外键字段. 也会作为延迟加载select调用的方法参数自动传入 延迟加载 配置: select 延迟加载查询配置。 根据账户中用户的id,查询用户信息。 所以需要找到查询方法:com.sunny.dao.IUserDao.findById fetchType="lazy" 配置开启延迟加载(覆盖全局的配置) --> <association property="user" javaType="user" column="uid" select="com.sunny.dao.IUserDao.findById" fetchType="lazy"></association> </resultMap> <!--一对一: 延迟加载查询(1)--> <select id="findAll" resultMap="accountResultMap"> SELECT * FROM account; </select> </mapper>