文档章节

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>

思考:

输入图片说明

© 著作权归作者所有

共有 人打赏支持
粉丝 4
博文 122
码字总数 90661
作品 0
合肥
【MyBatis框架】高级映射-延迟加载

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

Mysoft
2015/09/18
732
0
MyBatis源码解读之延迟加载

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

无忌
07/16
0
8
mybatis学习笔记(13)-延迟加载

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

brianway
2016/03/02
938
3
SSM-MyBatis-16:Mybatis中延迟加载

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

晨曦dawn
02/27
0
0
mybatis学习教程中级(八)延迟加载

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

ycy蓝码
2015/09/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Maven 项目中依赖的搜索顺序

ettings_mirror 的优先级高于 central settings_profile_repo 优先级高于 settings_mirror settings_profile_repo 优先级高于 pom_repositories settings_profile_repo 优先级高于 pom_prof......

xingyu4j
8分钟前
1
0
改变maven项目的名称

pom.xml <groupId>com.soft.xxx</groupId><artifactId>xxx</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>xxx Maven Webapp</name><build>......

1713716445
10分钟前
2
0
windows下按照RabbitMQ

rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平...

zhaochaochao
10分钟前
2
0
10个PHP比特币开源项目

如果你是一个Phper,如果你希望学习区块链,那么本文列出的10个开源的Php比特币项目,将有助于你了解在自己的应用中如何加入对比特币的支持。 如果你希望快速掌握使用Php对接比特币钱包的方法...

笔阁
17分钟前
10
0
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"><mapper name......

职业搬砖20年
21分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部