文档章节

mybatis的延迟加载

 小小小施爷
发布于 2017/09/11 15:50
字数 263
阅读 4
收藏 0

输入图片说明

输入图片说明

OrderMapper.xml文件的配置:

	<!-- 2 延迟加载resultMap的配置 -->
	<resultMap type="com.shi.pojo.Order" id="selectOrderLazyLodingFindUser">
		<!-- 对订单信息进行映射配置 -->
		<id column="id" property="id"/>
		<result column="user_id" property="user_id"/>
		<result column="number" property="number"/>
		<result column="createtime" property="createtime"/>
		<result column="note" property="note"/>
		
		<!-- 3  实现用户信息的延迟加载 
			property:指定哪个属性需要延迟加载
			select:指定延迟加载需要执行的statement的id
			(使用别的映射文件中的statement的id需要指定namespace)
			column:是订单信息中关联查询用户信息的列(就是上面的user_id)
		-->
		<association property="user" select="com.shi.mapper.UserMapper.selectUserByIdOrder" column="user_id">
		</association>
	</resultMap>
	
	<!-- 1 先去查询订单表的信息 -->
	<select id="selectOrderLazyLoding" resultMap="selectOrderLazyLodingFindUser">
		select * from orders
	</select>

UserMapper.xml文件的配置:

<mapper namespace="com.shi.mapper.UserMapper">
	<!-- 通过id查询用户的信息 -->
	<select id="selectUserByIdOrder" parameterType="int" resultType="com.shi.pojo.User">
		select * from user where id=#{user_id}
	</select>
</mapper>

注意:还要在sqlMapperConfig.xml文件中配置;

<!-- 配置延迟加载 -->
	<settings>
		<!-- 大家延迟加载的开关 -->
		<setting name="lazyLoadingEnabled" value="true"/>
		<!-- 取消积极加载 ,改为消极加载 ,即  按需加载-->
		<setting name="aggressiveLazyLoading" value="false"/>
	</settings>

思考:

输入图片说明

© 著作权归作者所有

共有 人打赏支持
上一篇: Mybatis的缓存
下一篇: Mbatis高级映射
粉丝 5
博文 145
码字总数 102480
作品 0
合肥
私信 提问
MyBatis源码解读之延迟加载

目的 本文主要解读MyBatis 延迟加载实现原理 2. 延迟加载如何使用 Setting 参数配置 设置参数 描述 有效值 默认值 lazyLoadingEnabled 延迟加载的全局开关。当开启时,所有关联对象都会延迟加...

无忌
2018/07/16
0
8
【MyBatis框架】高级映射-延迟加载

延迟加载 1.什么是延迟加载 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。 需求: 如果查询订单并且关联查...

Mysoft
2015/09/18
732
0
mybatis学习笔记(13)-延迟加载

mybatis学习笔记(13)-延迟加载 标签: mybatis [TOC] resultMap可以实现高级映射(使用、实现一对一及一对多映射),、具备延迟加载功能。 延迟加载:先从单表查询、需要时再从关联表去关联查...

brianway
2016/03/02
938
3
mybatis学习教程中级(八)延迟加载

1 引言 查询数据库时候,尽量使用单表查询提示性能,快啊~但是如果有多表联合和,那就可以使用延迟记载。首先说,在没得余地的情况下试用,是有点优势。 可以简单理解为,只有在使用的时候,...

ycy蓝码
2015/09/10
0
0
SSM-MyBatis-16:Mybatis中延迟加载

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 延迟加载:   所谓延迟加载是什么?   从字面意思理解到的是等一会再加载   从行为分析,他主要是缓解数据库压力,提...

晨曦dawn
2018/02/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Jmeter参数的AES加密使用

在Jmeter日常实践中,大家应该都遇到过接口传参需要加密的情况。以登陆为例,用户名和密码一般都需要进行加密传输,在服务端再进行解密,这样安全系数会更高,但在使用jmeter进行接口测试的时...

程序猿拿Q
25分钟前
2
0
MYSQL 日期函数 Date and Time Functions

Table 12.13 Date and Time Functions Name Description ADDDATE() Add time values (intervals) to a date value ADDTIME() Add time CONVERT_TZ() Convert from one time zone to another ......

_liucui_
31分钟前
2
0
Android代码混淆ProGuard工作原理简介

ProGuard能够对Java类中的代码进行压缩(Shrink),优化(Optimize),混淆(Obfuscate),预检(Preveirfy)。    1. 压缩(Shrink): 在压缩处理这一步中,用于检测和删除没有使用的类,字段...

SuShine
34分钟前
1
0
Idea 2018激活

教程地址: https://www.52pojie.cn/thread-781394-1-1.html 亲测可用

一个不正经的程序员
39分钟前
1
0
Android组件化开发实践和案例分享

目录介绍 1.为什么要组件化 1.1 为什么要组件化 1.2 现阶段遇到的问题 2.组件化的概念 2.1 什么是组件化 2.2 区分模块化与组件化 2.3 组件化优势好处 2.4 区分组件化和插件化 2.5 applicatio...

潇湘剑雨
40分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部