文档章节

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高级映射
粉丝 4
博文 135
码字总数 96189
作品 0
合肥
私信 提问
MyBatis源码解读之延迟加载

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

无忌
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 Laz-Load功能实现代码赏析(原创)

对于Mybatis 拥有的Lazy Load(有中文翻译成延迟加载)功能,应该很同学都有听说过,今天主要与大家一起来解读一下Mybatis在Lazy Load功能的实现的代码。Lazy Load实现的功能很好理解,就是在数...

三毛々
2013/04/23
0
0
mybatis---高级映射、延迟加载、查询缓存

高级映射(resultMap返回) 首先 书写查询语句 其次 配置resultMap 什么是延迟加载 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、colle...

lambdaλ
08/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

AI赋能一键自动检测:页面异常、控件异常、文本异常

摘要: 1.前言 闲鱼质量团队一直致力于交付高质量的app给用户,当前随着AI技术不断发展,TensorFlow大热,也给测试手段带来了更多种可能,本文接下来给大家介绍AI在闲鱼测试的一点实践:如何...

阿里云官方博客
22分钟前
0
0
Microsoft Remote Desktop For Mac

地址:https://rink.hockeyapp.net/apps/5e0c144289a51fca2d3bfa39ce7f2b06/ 解决国内App store不能下载的问题。

Cheuker
33分钟前
1
0
原地打印刷新(倒计时)

原地打印刷新(倒计时) 代码如下 from time import sleepfor i in reversed(range(1, 11)): print("\r倒计时:{}秒".format(i), end="") sleep(1)...

_Change_
45分钟前
0
0
php,vue,vue-ssr 做出来的页面有什么区别?

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由shirishiyue发表于云+社区专栏 目前我这边的web页面,都是采用php+smarty模板生成的,是一种比较早期的开发模式。好处是没...

腾讯云加社区
51分钟前
2
0
安卓的切图规范

Android UI 切图命名规范、标注规范及单位描述 很多UI设计师做APP切图都会有两套,一套是Android的,一套是IOS的。IOS我这边暂不作讲解,因为我本人也不是开发IOS。这里整理一下我在Android...

mo311
56分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部