mybatis3 添加ehcache支持

为了提高MyBatis的性能,有时候我们需要加入缓存支持,目前用的比较多的缓存莫过于ehcache缓存了,ehcache性能强大,而且位各种应用都提供了解决方案,在此我们主要是做查询缓存,提高查询的效率.

 

在Mybatis的官网上把集成ehcache的文档下载下来看了看,说的太简单了,对于新手很难理解,而且里面说的也不是很清楚,经过一番折腾,终于将ehcache加入了.

 

官网上提供了一个MyBatis-ehcache.jar的包用于整合ehcache缓存,文档中还说明需要一个ehcache-core.jar的包,除了这两个包之外有几个包也是必须的,官方并没有说明,以下是需要加入的所有和ehcache相关的包:

1.ehcache-core-2.4.4.jar

2.mybatis-ehcache-1.0.0.jar

3.slf4j-api-1.6.1.jar

4.slf4j-log4j12-1.6.2.jar

 

除此之外还有mybatis的jar包,log4j,MySQL驱动,这些大家应该都知道.

 

将上述包加入项目之后,新建一个文件名,该文件名必须为ehcache.xml,放在类路径下面,内容如下

 

Xml代码  复制代码  收藏代码
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.     xsi:noNamespaceSchemaLocation="../bin/ehcache.xsd">  
  4.       
  5.     <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>  
  6.       
  7.       
  8.     <select id="selectUserById" parameterType="int" resultType="org.qiuqiu.vo.Person">  
  9.         select * from person where id=#{id}   
  10.     select>  
  11. mapper>  
[xml]  view plain  copy
  1. xml version="1.0" encoding="UTF-8" ?>   
  2. >  
  3. <mapper namespace="com.qiuqiu.dao.PersonDao">  
  4.       
  5.     <cache type="org.mybatis.caches.ehcache.LoggingEhcache"/>  
  6.       
  7.       
  8.     <select id="selectUserById" parameterType="int" resultType="org.qiuqiu.vo.Person">  
  9.         select * from person where id=#{id}   
  10.     select>  
  11. mapper>  
 

这样就对这个mapper里面的各种结果进行了缓存.程序中不需要修改任何地方.

你可能感兴趣的:(JavaWeb)