news 2026/3/6 0:19:57

MyBatis的二级缓存

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MyBatis的二级缓存

二级缓存是SqlSessionFactory级别,通过同一个SqlSessionFactory创建的SqlSession查询得的结果会被缓存,此后若再次执行相同的查询语句,结果就会从缓存中获取

二级缓存开启的条件

  1. 在核心配置文件中,设置全局配置属性cacheEnabled="true",默认为true,不需要设置
  2. 在映射文件中设置标签
  3. 二级缓存必须在SqlSession关闭或提交之后有效
  4. 查询的数据所转换的实体类类型必须实现序列化的接口

映射文件中设置标签<cache/>

二级缓存必须在SqlSession关闭或提交之后有效

查询的数据所转换的实体类类型必须实现序列化的接口

Emp

package com.baidu.mybatis.pojo;importjava.io.Serializable;publicclassEmpimplementsSerializable{privateIntegereid;privateStringempName;privateIntegerage;privateStringsex;privateStringemail;privateDeptdept;publicEmp(){}publicEmp(Integereid,StringempName,Integerage,Stringsex,Stringemail){this.eid=eid;this.empName=empName;this.age=age;this.sex=sex;this.email=email;}/** * 获取 * @return eid */publicIntegergetEid(){returneid;}/** * 设置 * @param eid */publicvoidsetEid(Integereid){this.eid=eid;}/** * 获取 * @return empName */publicStringgetEmpName(){returnempName;}/** * 设置 * @param empName */publicvoidsetEmpName(StringempName){this.empName=empName;}/** * 获取 * @return age */publicIntegergetAge(){returnage;}/** * 设置 * @param age */publicvoidsetAge(Integerage){this.age=age;}/** * 获取 * @return sex */publicStringgetSex(){returnsex;}/** * 设置 * @param sex */publicvoidsetSex(Stringsex){this.sex=sex;}/** * 获取 * @return email */publicStringgetEmail(){returnemail;}/** * 设置 * @param email */publicvoidsetEmail(Stringemail){this.email=email;}/** * 获取 * @return dept */publicDeptgetDept(){returndept;}/** * 设置 * @param dept */publicvoidsetDept(Deptdept){this.dept=dept;}publicStringtoString(){return"Emp{eid = "+eid+", empName = "+empName+", age = "+age+", sex = "+sex+", email = "+email+", dept = "+dept+"}";}}

使二级缓存失效的情况

两次查询之间执行了任意的增删改,会使一级和二级缓存同时失效

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/3 19:53:41

计算机毕业设计springboot线上票务系统app 基于Spring Boot的移动票务管理平台开发 Spring Boot框架下的线上票务系统设计与实现

计算机毕业设计springboot线上票务系统app_ck27e &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着互联网技术的飞速发展&#xff0c;线上票务系统已经成为人们日常生活中不可…

作者头像 李华
网站建设 2026/3/3 19:53:40

Linux运维必备:一个LVM管理添加和扩容脚本的诞生记(完整版)

从简单需求到踩坑无数&#xff0c;最终炼成自动化神器。本文记录了一个LVM管理脚本的完整开发历程&#xff0c;包含所有踩过的坑和最终解决方案。附赠可直接使用的纯净版脚本。一、起因&#xff1a;一个看似简单的小需求那天&#xff0c;一位运维兄弟在群里求助&#xff1a;&qu…

作者头像 李华
网站建设 2026/3/5 19:10:46

LeetCode 379 电话目录管理系统

文章目录摘要描述题解答案题解代码分析1. 数据结构的选择2. 初始化方法3. get() 方法&#xff1a;分配号码4. check() 方法&#xff1a;检查号码是否可用5. release() 方法&#xff1a;释放号码6. 为什么使用 Set Array 的组合&#xff1f;7. 边界情况处理示例测试及结果示例 …

作者头像 李华
网站建设 2026/3/2 23:48:42

04. 引用

1.引用的基本定义与核心特性 2.引用的常见用法 3.引用 vs 指针1.引用的基本定义与核心特性 c中引用是变量的"别名", 就像一个人有本名和外号, 引用和原变量指向同一块内存地址, 操作引用就等同于操作原变量1).语法格式// 语法&#xff1a;类型& 引用名 原变量名…

作者头像 李华
网站建设 2026/3/5 2:14:14

当AI刺破泡沫:算力瓶颈、能源战争与资本主义的“物理转向”

如果说过去二十年的科技主旋律是“软件吞噬世界”,那么在 Jordi Visser 看来,这一章节正在剧烈翻篇。我们正处于一个甚至连“资本主义”本身都在面临终结与重构的奇点时刻。 当大众还在惊叹于 ChatGPT 的生成能力时,华尔街的敏锐资金已经嗅到了风向的改变:AI 的竞争不再仅…

作者头像 李华