Mybatis缓存配置

pom文件配置:


    org.mybatis
    mybatis
    3.4.1


    org.mybatis
    mybatis-spring
    1.3.0


    org.mybatis.caches
    mybatis-ehcache
    1.1.0


    net.sf.ehcache
    ehcache-core
    2.5.3

spring加载ehcache配置文件



    

ehcache.xml:



    
    

    
    


mybatis.xml开启缓存:


    
    
    
    
    
    
    
    

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



    
    
    
    
    

(1)property参数配置不加也可以,都会有一个默认值,大家也可以查查一共有哪些配置,然后根据自己的需要来配置,然后这个配置是会带上cache执行的日志,如果不要带日志可以把LogginEhcache改成EhcacheCache。
(2)如果readOnly为false,此时要结果集对象必须是可序列化的。需要将实体对象implements Serializable

上面这个是全局设置,在每条单独的sql语句上,还可以有局部设置,比如:

useCache="false"表示该select语句不使用缓存(即使xml最开头的全局cache启用)
默认情况下,如果全局开启了缓存,insert/update/delete成功后,会自动刷新相关的缓存项,但有一点要特别注意:在mybatis与hibernate混用时,由于mybatis与hibernate的缓存是无关的,如果用mybatis做select查询,用hibernate做insert/update/delete,hibernate对数据的修改,并不会刷新mybatis的缓存。

你可能感兴趣的:(Mybatis缓存配置)