1
与mybatis集成时需要的jar

ehcache-core-2.6.5.jar

mybatis-ehcache-1.0.2.jar

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

2 EHCache与mybatis集成

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

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

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

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

接着需要在mapper的xml文件中配置如下内容:

<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"
/>

<!--

name:Cache的唯一标识

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

maxElementsOnDisk表示无穷大

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

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

timeToIdleSeconds,也就是可闲置时间无穷大

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

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

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

diskExpiryThreadIntervalSeconds秒

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文件中的内容如下:

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

  1. 02_MyBatis项目结构,所需jar包,ehcache.xml配置,log4j.properties,sqlMapConfig.xml配置,SqlMapGenerator.xml配置

     项目结构(所需jar包,配置文件) sqlMapConfig.xml的配置内容如下: <?xmlversion="1.0"encoding="UTF-8&qu ...

  2. json所需jar包 & js解析后台json数据

    Json 所需jar包: var listxxx='<%=request.getAttribute("listxxx")%>';  // list数组 var mapx ...

  3. springmvc 项目完整示例07 设置配置整合springmvc springmvc所需jar包springmvc web.xml文件配置

    前面主要是后台代码,spring以及mybatis的整合 下面主要是springmvc用来处理请求转发,展现层的处理 之前所有做到的,完成了后台,业务层和持久层的开发完成了 接下来就是展现层了 有很多 ...

  4. main函数读取jar包外部的配置文件properties

    首先,Java的main方法有个初始化入参args,如下所示: public static void main(String[] args) {} 然后,在linux下执行jar包引入外部配置文件的命 ...

  5. 更新jar包里的配置文件

    更新jar包里的配置文件 起因 从笔记本传了个jar到服务器,运行的时候才发现配置文件一个ip项填错了.本来很简单的问题,maven重新打包就可以了,但是30多M的jar包就因为一个配置项错了又要重新 ...

  6. maven 引用另一个jar包 需要先打包在仓库里面 并在pom里面配置 才可以引用

    maven 引用另一个jar包 需要先打包在仓库里面 并在pom里面配置 才可以引用

  7. SSH框架整合配置所需JAR包(SSH整合)

    转载于:http://www.cnblogs.com/kaige123/p/5719662.html Hibernate Jar: 1.hibernate3.jar,这个是hibernate3.0的核 ...

  8. ssm框架所需jar包整理及各jar包的作用

    以下是我目前新搭建的ssm项目的pom.xml 之后如果需要其他的话再加 <?xml version="1.0" encoding="UTF-8"?> ...

  9. SSM整合所需jar包

    MySql驱动包 mysql-connector-java-5.1.7-bin.jar MyBatis的核心包和依赖包 mybatis-3.2.7.jar(核心包)asm-3.3.1.jar(依赖包) ...

随机推荐

  1. bzoj2127

    2127: happiness Time Limit: 51 Sec  Memory Limit: 259 MBSubmit: 2492  Solved: 1205[Submit][Status][D ...

  2. web框架和django基础(粗糙版)

    web框架本质:    浏览器:socket客户端    服务器:socket服务端        1.自己写socket服务端(最傻)        #!/usr/bin/env python    ...

  3. Win2003及2008R2重启自动登录设置方法

    在windows系统中,使用最多的可能就是远程操作了,关于远程操作的那些事很多用户还是有些迷茫的.如果win2003系统远程重启后,要重新登录系统才能启用远程功能,这就十分的麻烦,如何才能实现重启后的 ...

  4. Golang学习笔记:channel

    channel channel是goroutine之间的通信机制,它可以让一个goroutine通过它给另一个goroutine发送数据,每个channel在创建的时候必须指定一个类型,指定的类型是任 ...

  5. JavaScript判断不同平台

    function getPlatformType() { let UA = navigator.userAgent; if(/MicroMessenger/i.test(UA)){ return 'w ...

  6. Js删除数组函数

    引用地址:http://www.398588.com/Article/T8/96.aspx 众所周知大家都应该知道delete的用法,用来删除对象或者删除数组等,如果是删除对象除数组以外可能可以删除的 ...

  7. 解决问题redis问题:ERR Client sent AUTH, but no password is set

    是的,这又是一个坑爹的问题. 明明在redis.conf中设置了密码,而且redis还启动了,为什么说没有密码呢? 大家都知道linux下启动redis有很多种方法, 其中有 ./redis-serv ...

  8. 服务器&阵列卡LSI SAS223&组raid 10

    组raid10 如配置: raid LSI SAS2236 双E5-2450L 96G 4*1TB 要求: 至少4块HDD   将接上Raid card的机器开机,根据提示按组合键进入Raid配置界面 ...

  9. LintCode题解之最长单词

    这些一次遍历搞定的,套路无非都是在遍历的时候就记录数据的状态,然后根据遍历到的当前的数据的状态来修改最终结果,当遍历完了的时候结果也就确定了. public class Solution { /* * ...

  10. Go 语言函数闭包

    Go 语言支持匿名函数,可作为闭包.匿名函数是一个"内联"语句或表达式.匿名函数的优越性在于可以直接使用函数内的变量,不必申明. 以下实例中,我们创建了函数 getSequence ...