MyBatis延迟加载

news/2024/9/25 14:37:30

MyBatis是否支持延迟加载

延迟加载的意思是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。
MyBatis支持一对一关联对象和一对多关联集合对象的延迟加载。
在Mybatis配置文件中,可以配置是否启用延迟加载lazyLoadingEnabled=truel/false,默认是关闭的。或者fetchType=lazy/eager设置成局部延迟加载。

延迟加载的底层原理

  1. 使用CGLIB创建目标对象的代理对象。
  2. 当调用目标方法时,进入拦截器invoke方法,发现目标方法是null值,执行sql查询。
  3. 获取数据以后,调用set方法设置属性值,再继续查询目标方法,就有值了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/30740.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

2024 年 5 月 12 日 母亲节 周日 晴 常(197 字)

正文昨天玩到了凌晨 3 点,今天睡了一天…… 断断续续睡到 12 点起床,下午又从 5 点睡到了 7 点。我愿称之为睡神…….其它时间就是做工作日一直没时间做的杂事,比如洗衣服,刷鞋,换洗被套什么的,还挺花时间。用了得有两三个小时。所以昨天说的今天开摆,那是真的开摆了 (笑…

web3.js:使用eth包

原文在这里简介 web3-eth包提供了一套强大的功能,可以与以太坊区块链和智能合约进行交互。在本教程中,我们将指导您如何使用web3.js版本4的web3-eth包的基础知识。我们将在整个示例中使用TypeScript。 步骤 1:配置环境 在我们开始编写和部署我们的合约之前,我们需要设置我们…

敏捷冲刺-5月11日

敏捷冲刺-Day-06所属课程 软件工程2024作业要求 团队作业4—项目冲刺作业目标 完成第 6 篇 Scrum 冲刺博客冲刺日志集合贴 https://www.cnblogs.com/YXCS-cya/p/181788031.项目燃尽图 1.1 第六日-5月11日进度 当前进度逐渐加快2.会议记录 2.1 会议主题 第 6 天 Scrum 冲刺-项目…

Spark - [03] RDD概述

RDD,分布式数据集,是Spark中最基本的数据抽象。 一、什么是RDD RDD(Resilient Distributed Dataset)叫做分布式数据集,是 Spark 中最基本的数据抽象。 代码中是一个抽象类,它代表一个不可变、可分区、里面的元素可并行计算的集合。二、RDD的属性 ① 一组分区(Partition…

原型设计工具

2252118顾佳豪 Axure RP 主要特点: 交互设计: 支持复杂的动态交互和逻辑表达。 文档输出: 可以输出规范的产品需求文档。 协作功能: 支持团队协作和项目管理。 高保真原型: 创建接近最终产品的高保真原型。 使用方法: 使用库面板中的元件创建页面布局。 利用交互功能定义元件行…

随记《黑暗》——2024.5.12

黑暗到来时人们不应害怕 因为我们早已经历过太多黑暗 这场动荡会让人记忆尤新 因为前所未有的光明即将到来!

松弛操作

松弛即利用某个点使得某条边的距离变短,如下图:\(1\) 到 \(2\) 的距离,不如从 \(1\) 到 \(3\) 再到 \(2\) 的距离短,于是我们就可以经过 \(3\) 使得 \(1\to2\) 这条边变短。而这就是松弛。

生命周期---Vue2Vue3

生命周期---Vue2&Vue3简单理解为:组件从创建到被销毁的一个过程,就相当于人的一生,从出生到死亡的一个过程。组件的生命周期也称生命周期、生命周期函数、生命周期钩子生命周期在特定的时刻会调用特定的函数生命周期分为四个阶段,每个阶段都有两个钩子,现只讨论这八个…