news 2026/3/7 15:59:34

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 4:25:51

计算机的“神经网络”:三大总线及桥接器

目录 一、三大核心总线&#xff1a;数据、地址与控制总线 &#xff08;1&#xff09;数据总线&#xff08;Data Bus, DB&#xff09; &#xff08;2&#xff09;地址总线&#xff08;Address Bus, AB&#xff09; &#xff08;3&#xff09;控制总线&#xff08;Control Bu…

作者头像 李华
网站建设 2026/3/3 8:52:50

Elasticsearch近实时搜索揭秘:1秒内可查如何实现?

当你在 Kibana 中查询刚生成的日志&#xff0c;或在电商网站搜索刚上架的商品时&#xff0c;可能会好奇&#xff1a;数据写入后不到 1 秒就能搜到&#xff0c;这是如何实现的&#xff1f; 这背后就是 Elasticsearch (ES) 的“近实时”&#xff08;Near Real-Time, NRT&#xff…

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

SSM241的房屋中介出租出售系统vue

目录系统概述技术架构核心功能创新点应用价值开发技术源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统概述 SSM241房屋中介出租出售系统基于Vue.js前端框架与SSM&#xff08;SpringSpringMVCMyBatis&#xff09;后端架构开发&#…

作者头像 李华
网站建设 2026/2/26 21:01:28

萤石开放平台 设备运维 | 远程设备调试 快速入门

远程设备调试 1. 前置条件 设备要求&#xff1a; 设备绑定在当前账号下当前设备状态&#xff1a;在线设备能力要求&#xff1a;支持设备远程调试能力 2. 使用流程 2.1进入找到对应设备&#xff0c;并开启调试 在萤石开放平台控制台-设备管理页面中找到您需要调试的设备&a…

作者头像 李华
网站建设 2026/3/7 11:12:22

AtCoder Beginner Contest竞赛题解 | AtCoder Beginner Contest 440

​欢迎大家订阅我的专栏&#xff1a;算法题解&#xff1a;C与Python实现&#xff01; 本专栏旨在帮助大家从基础到进阶 &#xff0c;逐步提升编程能力&#xff0c;助力信息学竞赛备战&#xff01; 专栏特色 1.经典算法练习&#xff1a;根据信息学竞赛大纲&#xff0c;精心挑选…

作者头像 李华
网站建设 2026/2/27 9:10:11

如何用ChatGPT提升开发效率?实战技巧大公开

ChatGPT在软件测试中的效率革命 随着AI技术的快速发展&#xff0c;ChatGPT正成为测试工程师的智能协作者。本文聚焦六大核心场景&#xff0c;结合可落地的操作指南&#xff0c;帮助测试人员将AI能力深度融入工作流。 一、智能测试用例生成&#xff1a;覆盖度提升300%的秘诀 1…

作者头像 李华