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. [HNOI2015]实验比较

    Description 小D 被邀请到实验室,做一个跟图片质量评价相关的主观实验.实验用到的图片集一共有 N 张图片,编号为 1 到 N.实验分若干轮进行,在每轮实验中,小 D会被要求观看某两张随机选 ...

  2. C++符号优先级

    C++符号优先级 优先级 操作符 功能 用法 结合性 1 ()[]->.::++-- Grouping operatorArray accessMember access from a poin ...

  3. super 关键字

  4. C++ 程序在运行时不显示dos界面

    在程序最开始处加一句: #pragma comment( linker, "/subsystem:windows /entry:mainCRTStartup" ) PS: 在VS中 ...

  5. log4cxx用环境变量设置输出文件名

    log4cxx用环境变量设置输出文件名(金庆的专栏 2016.12)利用环境变量,可以用同一个log4j.xml来配置多个相似进程,输出日志到不同文件.例如多个BaseApp进程使用同一个BaseAp ...

  6. MySQL之sql文件的导入导出

    window下 1.导出整个数据库(无需登录mysql)mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname > d ...

  7. NLP系列(4)_朴素贝叶斯实战与进阶

    作者: 寒小阳 && 龙心尘 时间:2016年2月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/50629608 htt ...

  8. Rails 4.0 bundle exec rspec spec/requests/xxx 测试失败的解决

    rails项目没有使用默认的单元测试包,而是使用了rspec-rails来测试. 按照文档说明首先生成对应的测试文件: rails generate integration_test xxx invo ...

  9. SpringBatch简介

    spring Batch是一个轻量级的.完善的批处理框架,旨在帮助企业建立健壮.高效的批处理应用.SpringBatch是Spring的一个子项目,使用Java语言并基于Spring框架为基础开发,使 ...

  10. 【mybatis深度历险系列】深入浅出mybatis中原始dao的开发和mapper代理开发

    使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方法和Mapper接口开发方法.mybatis在进行dao开发的时候,涉及到三姐妹,分别是SqlSessionFactoryBuilder ...