MyBatis二级缓存开启条件

MyBatis缓存为俩层体系。分为一级缓存和二级缓存。

一级缓存:

        一级缓存默认开启,一级缓存的作用域是SqlSession级别的,这意味着当你更换SqlSession之后就不能再利用原来的SqlSession的一级缓存了。不同的SqlSession之间的一级缓存是隔离的。

但是在开发中更换SqlSession是更频繁的操作,所以一级缓存对我们的意义不太大。

使用了一级缓存,只查询了一次:

更换SqlSession后失效:

进行了俩次数据库查询:

二级缓存:

二级缓存的作用域是Mapper级别的,可以在多个SqlSession之间共享。

MyBatis二级缓存默认是关闭的。开启条件有四个:

  1. 在配置文件中通过settings配置cacheEnabled为true,但是当前MyBatis中已经默认配置为true,所以不用写,是一个建议性的配置。
  2. 在mapper文件中加入cache标签:
  3. 在sql标签中配置useCache属性,这个配置也可以省略。
  4. 存在事务。MyBatis自动开启事务,所以我们只需要将事务进行commit提交即可。

总结:满足上述第二点(cache标签)和第四点配置(存在事务)即可开启MyBatis二级缓存:

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

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

相关文章

如何确保redis缓存中的数据与数据库一致

一、双写模式: 在写入数据库时,也写入缓存。 二:失效模式: 在写入新数据后,删除缓存中数据,下次请求时查询数据库,并把查到的最新数据写入缓存。 不管是双写模式还是失效模式,缓…

网页中生成ZIP文件,Zip 压缩、解压技术在 HTML5 浏览器中的应用

JSZip 是一款可以创建、读取、修改 .zip 文件的 javaScript 工具。在 web 应用中,免不了需要从 web 服务器中获取资源,如果可以将所有的资源都合并到一个 .zip 文件中,这时候只需要做一次请求,这样既减少了服务器的压力&#xff0…

每日题库:Huawe数通HCIA——15(30道)

注:由于限制原因,今后资料仅提供给粉丝 所有资料均来源自网络,但个人亲测有效,特来分享,希望各位能拿到好成绩! PS:别忘了一件三连哈! 今日题库: 231. 如下图所示的网…

OceanBase 4.3 特性解析:列存技术

在涉及大规模数据的复杂分析或即时查询时,列式存储是支撑业务负载的关键技术之一。相较于传统的行式存储,列式存储采用了不同的数据文件组织方式,它将表中的数据以列为单位进行物理排列。这种存储模式允许在分析过程中,查询计算仅…

Vitis HLS 学习笔记--接口存储器布局模型

目录 1. 简介 2. 详解 2.1 数据对齐 2.2 数据结构填充 3. 总结 1. 简介 软件开发者写的程序会在 CPU 处理器上运行,而硬件开发者设计的“内核”则会在 FPGA 上运行。这两部分需要通过一个精心设计的接口来沟通,就像两个人用对讲机来交流一样。为了…

GDPU unity游戏开发 寻路与导航

学会寻路,出门在外,身份不是他给的,他做不了你一直的导航。 角色寻路 角色控制器替换为普通的角色控制器,给实验九的地形增加NavMesh Surface组件,然后给角色增加NavMesh Agent组件,并选择合适的参数。通过…

mac安装brew遇到的一些问题

mac终端执行命令/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”,无法建立连接或连接超时错误,错误信息如下: curl: (28) Failed to connect to raw.githubusercontent.com port 443 af…

高性能MySQL(第3版)电子书笔记

Mysql官方文档:https://dev.mysql.com/doc/refman/5.7/en/ 高性能MySQL(第3版):百度网盘,基于Mysql5.1和Mysql5.5 本机版本 mysql> select version(); ------------ | version() | ------------ | 5.7.32-log |…

Numba 的 CUDA 示例(4/4):原子和互斥

本教程为 Numba CUDA 示例 第 4 部分。 本系列第 4 部分总结了使用 Python 从头开始学习 CUDA 编程的旅程 介绍 在本系列的前三部分(第 1 部分,第 2 部分,第 3 部分)中,我们介绍了 CUDA 开发的大部分基础知识&#xf…

第十一届蓝桥杯C++青少年组中/高级组国赛2020年10月真题解析

一、单选题 第1题 在数组中,数组名表示( ). A:数组第1个元素的首地址 B:数组第2个元素的首地址 C:数组所有元素的首地址, D:数组最后1个元素的首地址 答案:A 数组名是一个地址,指向第一个元素 第2题 …

locale本地化库学习

std::locale 类型的对象(本地环境对象)是不可变刻面的一个不可变索引集。C 输入/输出库的每个流对象都与一个 std::locale 对象关联,并用它的各刻面来分析及格式化所有数据。另外,每个 std::basic_regex 对象也都与一个本地环境对…

如何用群晖当异地组网服务器?

在当今信息化时代,远程通信成为了企业和个人之间不可或缺的一部分。特别是对于跨地区的通信需求,一个可靠的异地组网服务器是必不可少的。而群晖(Synology)作为一款功能强大的网络存储设备,可以被用作办公室或家庭的异…

【小白专用24.6.8】C#Lambda表达式

Lambda表达式可以采用以下任意一种形式的表达式&#xff1a; 1.表达式Lambda&#xff0c;表达式为其主体&#xff1a; (input-parameters) > expression 1 2.语句Lambda&#xff0c;语句块作为其主体&#xff1a; (input-parameters) > {<sequence-of-statements>…

★pwn 24.04环境搭建保姆级教程★

★pwn 24.04环境搭建保姆级教程★ &#x1f338;前言&#x1f33a;Ubuntu 24.04虚拟机&#x1f337;VM&#x1f337;Ubuntu 24.04镜像 &#x1f33a;工具&#x1f337;可能出现的git clone错误&#x1f337;复制粘贴问题&#x1f337;攻击&#x1f337;编题 &#x1f33a;美化&…

C++的STL 中 set.map multiset.multimap 学习使用详细讲解(含配套OJ题练习使用详细解答)

目录 一、set 1.set的介绍 2.set的使用 2.1 set的模板参数列表 2.2 set的构造 2.3 set的迭代器 2.4 set的容量 2.5 set的修改操作 2.6 set的使用举例 二、map 1.map的介绍 2.map的使用 2.1 map的模板参数说明 2.2 map的构造 2.3 map的迭代器 2.4 map的容量与元…

【数据结构】栈的应用

目录 0 引言 1 栈在括号匹配中的应用 2 栈在表达式求值中的应用 2.1 算数表达式 2.2 中缀表达式转后缀表达式 2.3 后缀表达式求值 3 栈在递归中的应用 3.1 栈在函数调用中的作用 3.2 栈在函数调用中的工作原理 4 总结 0 引言 栈&#xff08;Stack&#xff09;是一…

【网络编程开发】8.TCP连接管理与UDP协议 9.IP协议与ethernet协议

8.TCP连接管理与UDP协议 三次握手 三次握手的过程在TCP/IP网络通信中起着至关重要的作用&#xff0c;它不仅确保了数据的可靠传输&#xff0c;还为两端的数据传输提供了稳定的连接初始化过程。这一过程涉及到几个关键步骤&#xff0c;每个步骤都有其特定的目的和功能。 步骤&…

LSTM卷土重来之Vision-LSTM横空出世!!

在Transformer诞生三年后&#xff0c;谷歌将这一自然语言处理的重要研究扩展到了视觉领域&#xff0c;也就是Vision Transformer。 论文链接&#xff1a;https://arxiv.org/abs/2406.04303 项目链接: https://nx-ai.github.io/vision-lstm/ GPT-4o深夜发布&#xff01;Plus免…

MySQL—多表查询—联合查询

一、引言 之前学习了连接查询。现在学习联合查询。 union&#xff1a;联合、联盟 对于union查询&#xff0c;就是把多次查询的结果合并起来&#xff0c;形成一个新的查询结果集 涉及到两个关键字&#xff1a;union 和 union all 注意&#xff1a; union 会把上面两个SQL查询…

Python魔法之旅-魔法方法(23)

目录 一、概述 1、定义 2、作用 二、应用场景 1、构造和析构 2、操作符重载 3、字符串和表示 4、容器管理 5、可调用对象 6、上下文管理 7、属性访问和描述符 8、迭代器和生成器 9、数值类型 10、复制和序列化 11、自定义元类行为 12、自定义类行为 13、类型检…