01_MyBatis EHCache集成及所需jar包,ehcache.xml配置文件参数配置及mapper中的参数配置

简介:  1 与mybatis集成时需要的jar ehcache-core-2.6.5.jar mybatis-ehcache-1.0.2.jar Mybatis、日志、EHCache所需要的jar包如下: 2 EHCache与mybatis集成 EHCache是一种广泛使用java分布式缓存通用缓存,Ja


1 mybatis集成时需要的jar

ehcache-core-2.6.5.jar

mybatis-ehcache-1.0.2.jar

Mybatis、日志、EHCache所需要的jar包如下:

2 EHCachemybatis集成

EHCache是一种广泛使用java分布式缓存通用缓存,JavaEE中的一个轻量级的容器。

EHCache集成是基于ehcache-core,没有任何其它第三方应用程序。

想使用EHCache到她们的应用程序的用户,必须下载EHCachezip bundle,解压它添加这些jarsclasspath路径下。使用Apache Maven的用户只需要在pom.xml文件中添加如下内容:

<dependencies>
  ...
  <dependency>
    <groupId>org.mybatis.caches</groupId>
    <artifactId>mybatis-ehcache</artifactId>
    <version>1.0.2</version>
  </dependency>
  ...
</dependencies>

接着需要在mapperxml文件中配置如下内容:

<mapper namespace="org.acme.FooMapper">

<cache type="org.mybatis.caches.ehcache.EhcacheCache"/>...

</mapper>

你也可以提供可以再运行动态变更的如下参数:

<mapper namespace="org.acme.FooMapper">

    <cache type="org.mybatis.caches.ehcache.EhcacheCache"/>

    <property name="timeToIdleSeconds" value="3600"/><!--1hour-->

    <property name="timeToLiveSeconds" value="3600"/><!--1hour-->

    <property name="maxEntriesLocalHeap" value="1000"/>

    <property name="maxEntriesLocalDisk" value="10000000"/>

    <property name="memoryStoreEvictionPolicy" value="LRU"/>

  </cache>

  ...

</mapper>

如果用户需要日志缓存操作,可以插入Cachelogging version:

<mapper namespace="org.acme.FooMapper">

  <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>

  ...

</mapper>

    需要通xml配置文件配置EHCache的用户,必须要在classpath路径下放置/ehcache.xml资源。

/ehcache.xml资源没有发现或者在加载/ehcache.xml的时候发生错误,将会使用默认的配置。

3 /ehcache.xml配置文件参数配置

<?xml version="1.0" encoding="UTF-8"?>

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xsi:noNamespaceSchemaLocation="ehcache.xsd"

   updateCheck="true" monitoring="autodetect" dynamicConfig="true">

 

   <diskStore path="java.io.tmpdir" />

  

   <!-- 

    nameCache的唯一标识

    maxElementsInMemory:内存中最大缓存对象数

    maxElementsOnDisk:磁盘中最大缓存对象数,若是0表示无穷大

    eternalElement是否永久有效,一但设置了,timeout将不起作用

    overflowToDisk:配置此属性,当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中

    timeToIdleSeconds:设置Element在失效前的允许闲置时间。仅当element不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大

    timeToLiveSeconds:设置Element在失效前允许存活时间。最大时间介于创建时间

        和失效时间之间。仅当element不是永久有效时使用,默认是0.,也就是element存活时间无穷大 

    diskPersistent:是否缓存虚拟机重启期数据 

    diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120

    diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区

    memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用) 

    -->

   <defaultCache maxElementsInMemory="10000"

      eternal="false"

      timeToIdleSeconds="120"

      timeToLiveSeconds="120"

      overflowToDisk="true"

      maxElementsOnDisk="10000000"

      diskPersistent="false"

      diskExpiryThreadIntervalSeconds="120"

      memoryStoreEvictionPolicy="LRU" />

</ehcache>

sqlMapConfig.xml中的<settings>设置如下:

<!-- 开启延迟加载 -->

<settings>

   <!-- 全局的延迟加载的开关必须要开启 -->

   <setting name="lazyLoadingEnabled" value="true"/>

   <!-- 积极加载设置成false -->

   <setting name="aggressiveLazyLoading" value="false"/>

   <!-- 开启二级缓存, 缓存中只要是需要配置的针对的都是二级缓存 -->

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

</settings>

    mapper文件中的内容如下:

目录
相关文章
|
25天前
|
Java 数据库连接 数据库
Spring Boot与MyBatis的集成应用
Spring Boot与MyBatis的集成应用
|
1月前
|
XML Java 数据库连接
MyBatis入门——MyBatis XML配置文件(3)
MyBatis入门——MyBatis XML配置文件(3)
34 6
|
1月前
|
Java 数据库连接 数据库
Spring Boot 集成 MyBatis-Plus 总结
Spring Boot 集成 MyBatis-Plus 总结
|
1月前
|
SQL XML Java
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
后端数据库开发JDBC编程Mybatis之用基于XML文件的方式映射SQL语句实操
37 3
|
1月前
|
Java 数据库连接 mybatis
在Spring Boot应用中集成MyBatis与MyBatis-Plus
在Spring Boot应用中集成MyBatis与MyBatis-Plus
73 5
|
2月前
|
Java 关系型数据库 数据库连接
MyBatis-Plus介绍及Spring Boot 3集成指南
MyBatis-Plus是一个MyBatis扩展工具,旨在简化Java开发中的CRUD操作。它具有无侵入性、低损耗、强大的CRUD功能、Lambda表达式支持、主键自动生成、ActiveRecord模式、全局操作和内置代码生成器等特点。在Spring Boot 3中集成MyBatis-Plus,需在pom.xml添加依赖,排除特定版本的mybatis-spring,并用@MapperScan注解指定Mapper接口路径。此外,还介绍了如何使用MyBatis-Plus代码生成器自动生成Mapper、Model、Service和Controller层代码,以加速开发。
115 2
MyBatis-Plus介绍及Spring Boot 3集成指南
|
21天前
|
XML Java 数据格式
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
支付系统----微信支付20---创建案例项目--集成Mybatis-plus的补充,target下只有接口的编译文件,xml文件了,添加日志的写法
|
21天前
|
XML 关系型数据库 MySQL
支付系统----微信支付19---集成MyBatis-plus,数据库驱动对应的依赖版本设置问题,5没版本没有cj这个依赖,mysql驱动默认的是版本8,这里是一个父类,数据库都有,写个父类,继承就行
支付系统----微信支付19---集成MyBatis-plus,数据库驱动对应的依赖版本设置问题,5没版本没有cj这个依赖,mysql驱动默认的是版本8,这里是一个父类,数据库都有,写个父类,继承就行
|
23天前
|
Java 数据库连接 mybatis
mybatis包扫描环境分析,最简单的环境准备
mybatis包扫描环境分析,最简单的环境准备
|
1月前
|
XML Java 数据库连接
MyBatis第二课,灰度发布,@Results注解,使用xml书写mysql
MyBatis第二课,灰度发布,@Results注解,使用xml书写mysql