springMVC+mybatis+ehcache详细配置

阅读更多
一、 Mybatis+Ehcache配置

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

整合MyBatis和ehcache需要的jar包如下:

  • ehcache-core-2.4.4.jar
  • mybatis-ehcache-1.0.0.jar
  • slf4j-api-1.6.1.jar
  • slf4j-log4j12-1.6.2.jar


资源已上传到百度网盘 点击此处下载,其中包括了一些mybatis的jar包,log4j,mysql驱动等必须的包
将上述包加入项目之后,新建一个文件名,该文件名必须为ehcache.xml,放在类路径下面,内容如下:

    
         
        
        
          	
    


该文件是ehcache的配置文件,上面的注释已经说得很清楚了,这里我用的是默认的配置
至此ehcache已经配置好了,然后只需要在你想要缓存的mapper配置文件里面加入以下内容,该查询语句得到的结果将会被缓存
 
	
    	
    	
    	
    


这样就对这个mapper里面的各种结果进行了缓存。程序中不需要修改任何地方。
这个过程不复杂,也没什么难度,不过Mybatis的官方说的也太含糊了。附件下面有,需要的各种jar包已经包含。点击 下载附件。
原文地址: http://qiuqiu0034.iteye.com/blog/1162952


二、 springMVC+mybatis+ehcache详细配置

首先需要先需要两个主要的jar包
  • ehcache-core-2.4.6.jar
  • mybatis-ehcache-1.0.1.jar


ehcache-core一定要1.3以上的版本 因为1.3之前好像不支持集群的。然后需要创建一个ehcache.xml在类路径下面
   
           
    
      
      
           
      


上面的diskStor path 你可以指定某一个路径下,java.io.tmpdir 指的是你系统的缓存目录,可以百度下然后一般这个xml都需要有一个defaultCache,就是默认的cache配置  里面有哪些参数自己可以网上查查api

然后下面我还配置了一个testCache,我找网上资料 没看到哪里明说,然后我自己测试,发现ehcache是可以生成多个cache的,每个cache可以根据不同的业务场景作用于不同的业务(即里面的参数配置不同),所以这样看似多配置了,其实是更加增加了灵活性。

然后在spring的配置文件里面加上一段配置:
    
     
       
   

这样就可以把ehcache和spring整合起来了

然后在对应的mapper.xml 里面加上
  
      
      
      
      
      


后面的参数配置不加也可以,都会有一个默认值,大家也可以查查一共有哪些配置,然后根据自己的需要来配置,然后这个配置是会带上cache执行的日志,如果不要带日志可以把LogginEhcache改成EhcacheCache。

在mapper.xml这样设置了默认是全部操作都会执行缓存策略,如果有某些sql不需要执行,可以把useCache设置为false。