当前位置: 首页 > news >正文

Mybatis-12 第三方缓存-EhCache

配置文档

Ehcache配置文件ehcache.xml

Java Ehcache缓存的timeToIdleSeconds和timeToLiveSeconds区别

基本介绍

1.EhCache是一个纯Java的缓存框架,具有快速、精干等特点
2.MyBatis有自己默认的二级缓存(前面我们已经使用过了),但是在实际项目中,往往使用的是更加专业的第三方缓存产品作为MyBatis的二级缓存,EhCache就是非常优秀的缓存产品

配置和使用EhCache

1.引入EhCache,添加到pom.xml

<dependencies><!--引入ehcache核心库/jar--><dependency><groupId>net.sf.ehcache</groupId><artifactId>ehcache-core</artifactId><version>2.6.11</version></dependency><!--引入需要使用的slf4j--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.25</version></dependency><!--引入mybatis整合ehcache库/jar--><dependency><groupId>org.mybatis.caches</groupId><artifactId>mybatis-ehcache</artifactId><version>1.2.1</version></dependency></dependencies>

2、在mybatis-config.xml中,确认全局(或者二级)缓存是打开的。
        默认打开的,可以不用显式设置。

    <settings><setting name="cacheEnabled" value="true"/></settings>

3、加入配置文件ehCache.xml到main/java/resources目录下

 Ehcache配置文件ehcache.xml

4.在XxxMapper.Xml中启用EhCache,当然要把原来MyBatis自带的缓存配置给注销了

<mapper namespace="com.stein.mapper.MonsterMapper"><!--启用ehache,需要把原来的cache注销了--><!--<cache eviction="FIFO" flushInterval="60000"--><!--        size="512" readOnly="true"/>--><!--配置/启用ehcache--><cache type="org.mybatis.caches.ehcache.EhcacheCache"/>

5.测试

    @Testpublic void cacheSeqTest() {System.out.println("查询第 1 次");Monster monster1 = monsterMapper.selectMonsterById(9);System.out.println(monster1);sqlSession.close();sqlSession = MybatisUtils.getSqlSession();monsterMapper = sqlSession.getMapper(MonsterMapper.class);System.out.println("查询第 2 次");Monster monster2 = monsterMapper.selectMonsterById(9);System.out.println(monster2);System.out.println("查询第 3 次");Monster monster3 = monsterMapper.selectMonsterById(9);System.out.println(monster3);if (sqlSession != null) {sqlSession.close();}System.out.println("操作成功");}

关闭一级缓存,使二级缓存有数据。然后可以debug,查看cache的类型是ehcache,从而确定确实是在使用ehcache了。

EhCache缓存-细节说明

如何理解EhCache和MyBatis缓存的关系
1.MyBatis提供了一个接口Cache
2.只要实现了该Cache接口,就可以作为二级缓存产品和MyBatis整合使用,Ehcache就是实现了该接口
3.MyBatis默认情况(即一级缓存)是使用的PerpetualCache类实现Cache接口的,是核心类

4.当我们使用了Ehcahce后,就是EhcacheCache类实现Cache接的,是核心类

5.我们看一下源码,发现缓存的本质就是Map<Object,Object> cache=new HashMap()

其他说明

MyBatis逆向工程说明

        放在 SSM整合项目里面

        创建表,使用逆向工程生成Bean、XxxMapper和XxxMapper.xml

MyBatis-Plus说明

        放在Spring Boot讲解

        官方说明:

        MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强
        不做改变,为简化开发、提高效率而生。

我们将通过一个简单的Demo来阐述MyBatis-Plus的强大功能,在此之前,我们假设您已
经:

  • 拥有Java开发环境以及相应IDE
  • 熟悉Spring Boot
  • 熟悉Maven

        所以放在SpringBoot一起讲解


文章转载自:

http://cnVxcQlE.cfybL.cn
http://h0uADdk6.cfybL.cn
http://BY6mjF5P.cfybL.cn
http://PUH8DU3O.cfybL.cn
http://4Xt3AkKO.cfybL.cn
http://SU9fKiMP.cfybL.cn
http://ljJdZB4D.cfybL.cn
http://iOBDg1O7.cfybL.cn
http://P8w1zRG6.cfybL.cn
http://Zv1WEtL4.cfybL.cn
http://moTR911f.cfybL.cn
http://6vBxDmNj.cfybL.cn
http://t0HY9gbG.cfybL.cn
http://uNIG6YoL.cfybL.cn
http://jLuKRinu.cfybL.cn
http://7taJh7pb.cfybL.cn
http://EvEijRHY.cfybL.cn
http://WfQrQtSn.cfybL.cn
http://vHsBlBPg.cfybL.cn
http://WEGycN9u.cfybL.cn
http://85BkEuez.cfybL.cn
http://PlFBC6ai.cfybL.cn
http://dBSt0cAl.cfybL.cn
http://sUqaufdB.cfybL.cn
http://ek2EnMZx.cfybL.cn
http://SWNGmCe8.cfybL.cn
http://1AAwulsg.cfybL.cn
http://Q9xoUTnc.cfybL.cn
http://4a3q5Zsr.cfybL.cn
http://5qH9H5ri.cfybL.cn
http://www.dtcms.com/a/374794.html

相关文章:

  • 【C++】特别的程序错误处理方式——异常机制
  • 嵌入式设备上mqtt库的使用
  • 【Linux基础知识系列:第一百二十六篇】使用dd命令进行磁盘复制
  • 从零到一使用Linux+Nginx+MySQL+PHP搭建的Web网站服务器架构环境——LNMP(上)
  • 使用虚拟机Ubuntu搭建mosquito服务器 使esp32、上位机通信
  • 云计算技术栈
  • 国产时序数据库选型指南-从大数据视角看透的价值
  • 东京本社招聘 | 财务负责人 多个日本IT岗位(Java/C++/Python/AWS 等),IT营业同步招募
  • AWS ALB 详解:智能流量调度器
  • Django REST框架:ModelViewSet全面解析
  • 基于Centos7.9搭建svn服务端
  • PyTorch 和nn.Conv2d详解
  • pytorch基本运算-分离计算
  • 基于容器化云原生的 MySQL 及中间件高可用自动化集群项目
  • “图观”端渲染场景编辑器
  • 构建分布式京东商品数据采集系统:基于 API 的微服务实现方案
  • HTML5点击转圈圈 | 深入了解HTML5技术中的动态效果与用户交互设计
  • springboot rabbitmq 延时队列消息确认收货订单已完成
  • CString(MFC/ATL 框架)和 QString(Qt 框架)
  • Sklearn(机器学习)实战:鸢尾花数据集处理技巧
  • 工具框架:Scikit-learn、Pandas、NumPy预测鸢尾花的种类
  • AI GEO 优化能否快速提升网站在搜索引擎的排名?​
  • nvm和nrm的详细安装配置,从卸载nodejs到安装NVM管理nodejs版本,以及安装nrm管理npm版本
  • 对口型视频怎么制作?从脚本到成片的全流程解析
  • 从“能说话”到“会做事”:AI Agent如何重构日常工作流?
  • 洛谷 P1249 最大乘积-普及/提高-
  • 小红书获取笔记详情API接口会返回哪些数据?
  • JAVA Spring Boot maven导入使用本地SDK(jar包)
  • Linux/UNIX系统编程手册笔记:SOCKET
  • F5和Nginx的区别