mybatis-懒加载的使用

SqlMapConfig.xml中的懒加载配置:



	<settings>
		<!-- 打开延迟加载的开关 -->
		<setting name="lazyLoadingEnabled" value="true"/>
		<!-- 将积极加载改为消极加载,即按需加载 -->
		<setting name="aggressiveLazyLoading" value="false"/>
		<!-- 开启二级缓存 -->
		<setting name="cacheEnabled" value="true"/>
	</settings>



mapper.xml中的懒加载配置:

	<!-- 延迟加载的resultMap -->
	<resultMap type="com.itcast.mybatis.po.orders" id="findOrdersuserLazyLoading">
		<!-- 对订单信息进行映射配置 -->
		<id column="id" property="id"/>
		<result column="users_id" property="users_id"/>
		<result column="number" property="number"/>
		<result column="createtime" property="createtime"/>
		<result column="note" property="note"/>
		<!-- 对用户信息进行延迟加载 
		select:指定延迟加载所需要执行的statement的id(是根据user_id查询用户信息的statement)
		column:订单信息中关联用户信息查询的列,是user_id
		关联查询的sql理解为:
		select orders.*,
		(select username from users where orders.users_id=users.id) username,
		(select sex from users where orders.users_id=users.id)sex 
		from orders
		
		-->
		<association property="user" javaType="com.itcast.mybatis.po.users" select="findUserById" column="users_id">
			<!-- 实现对用户信息进行延迟加载 -->
			
		</association>
		
	</resultMap>
	
	
	<!-- 查询订单关联查询用户,用户信息需要延迟加载 -->
	<select id="findOrdersuserLazyLoading" resultMap="findOrdersuserLazyLoading">
		select * from orders
	</select>
	
	<select id="findUserById" parameterType="int" resultType="com.itcast.mybatis.po.users">
		select * from users where id=#{id}
	</select>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值