springboot开启mybatis二级缓存的步骤详解

 更新时间:2024年02月18日 11:41:09   作者:ADRU  
这篇文章给大家介绍了springboot开启mybatis二级缓存的详细步骤,文中通过代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

我的项目版本号如下:

   <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.8</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
 
 <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.1</version>
        </dependency>

首先选一个缓存框架(EhCache )EhCache 是一个广泛使用的开源 Java 分布式缓存库,主要用于提高应用程序的性能,减少数据库访问次数,通过缓存频繁读取的数据来实现。它可以作为 Hibernate、Spring、MyBatis 等框架的缓存提供者,用于提升这些框架在数据处理方面的性能。可以缓存来自数据库的数据,当应用程序需要这些数据时,可以直接从缓存中读取,而不是每次都查询数据库。这减少了数据库的访问压力和响应时间。

第一步导入依赖

   <!-- mybatis 二级缓存使用-->
        <dependency>
            <groupId>net.sf.ehcache</groupId>
            <artifactId>ehcache</artifactId>
            <version>2.10.8</version>
        </dependency>

第二步编写配置文件

src/main/resources 目录下创建一个名为 ehcache.xml 的 EhCache 配置文件。这个文件用于定义缓存的具体参数,例如缓存策略、生命周期等:

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="http://www.ehcache.org/ehcache.xsd">
 
    <cache name="default"
           maxEntriesLocalHeap="10000"
           eternal="false"
           timeToIdleSeconds="300"
           timeToLiveSeconds="600"
           memoryStoreEvictionPolicy="LFU">
    </cache>
</ehcache>

第三步加注解

对于 Mapper 接口,可以通过在接口上添加 @CacheNamespace 注解开启二级缓存

如下:

import org.apache.ibatis.annotations.CacheNamespace;
import org.apache.ibatis.annotations.Mapper;
 
@Mapper
@CacheNamespace
public interface YourMapper {
    // 方法定义
}

第四步修改配置文件

application.properties

spring.cache.type=ehcache
spring.cache.ehcache.config=classpath:ehcache.xml

application.yml

spring:
  cache:
    type: ehcache
    ehcache:
      config: classpath:ehcache.xml

到此这篇关于springboot开启mybatis二级缓存的步骤详解的文章就介绍到这了,更多相关springboot开启mybatis缓存内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • spring mail借助qq邮箱服务器发送邮件

    spring mail借助qq邮箱服务器发送邮件

    这篇文章主要介绍了spring mail借助qq邮箱服务器发送邮件的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • @JsonProperty和@JSONField注解的区别解析(最新)

    @JsonProperty和@JSONField注解的区别解析(最新)

    Jackson是一款优秀的JSON解析库,添加了依赖之后就可以使用对应的注解,让我们能够自由的将Java对象和JSON做转换,这篇文章主要介绍了@JsonProperty和@JSONField注解的区别,需要的朋友可以参考下
    2024-04-04
  • 一文深入理解Java中的java.lang.reflect.InvocationTargetException错误

    一文深入理解Java中的java.lang.reflect.InvocationTargetException错误

    这篇文章主要给大家介绍了关于Java中java.lang.reflect.InvocationTargetException错误的相关资料,java.lang.reflect.InvocationTargetException是Java中的一个异常类,它通常是由反射调用方法时抛出的异常,需要的朋友可以参考下
    2024-03-03
  • 一文看懂RabbitMQ消息丢失如何防止

    一文看懂RabbitMQ消息丢失如何防止

    这篇文章主要介绍了RabbitMQ消息丢失的场景,以及如何保证信息不丢失,看完这篇文章一定可以帮助你RabbitMQ有更深的理解,需要的朋友可以参考下
    2023-03-03
  • java实现图的邻接表存储结构的两种方式及实例应用详解

    java实现图的邻接表存储结构的两种方式及实例应用详解

    这篇文章主要介绍了java实现图的邻接表存储结构的两种方式及实例应用详解,邻接表构建图是必须需要一个Graph对象,也就是图对象!该对象包含属性有:顶点数、边数以及图的顶点集合,需要的朋友可以参考下
    2019-06-06
  • SpringBoot 配合 SpringSecurity 实现自动登录功能的代码

    SpringBoot 配合 SpringSecurity 实现自动登录功能的代码

    这篇文章主要介绍了SpringBoot 配合 SpringSecurity 实现自动登录功能的代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Spring Boot集成JSch的示例代码

    Spring Boot集成JSch的示例代码

    本文主要介绍了Spring Boot集成JSch的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • Java线程同步机制_动力节点Java学院整理

    Java线程同步机制_动力节点Java学院整理

    在之前,已经学习到了线程的创建和状态控制,但是每个线程之间几乎都没有什么太大的联系。可是有的时候,可能存在多个线程多同一个数据进行操作,这样,可能就会引用各种奇怪的问题。现在就来学习多线程对数据访问的控制吧
    2017-05-05
  • JDBC获取元数据demo

    JDBC获取元数据demo

    这篇文章主要为大家介绍了JDBC获取元数据实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • window下安装和配置maven环境

    window下安装和配置maven环境

    这篇文章主要为大家详细介绍了window下安装和配置maven环境的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03

最新评论