外置第三方EHCache缓存
type="":不设置,表示默认的是Mybatis的内置缓存,
设置的话要把jar包引入进来
<dependency>
<groupId>org.ehcache</groupId>
<artifactId>ehcache</artifactId>
<version>3.8.1</version>
</dependency>
要把ehcache包整合到mybatis里面用,还需要一个整合jar包
<dependency>
<groupId>org.mybatis.caches</groupId>
<artifactId>mybatis-ehcache</artifactId>
<version>1.2.1</version>
</dependency>
在引入的jar包中将对应的文件名拷贝设置过来
<cache type="org.mybatis.caches.ehcache.EhcacheCache"/>
先引入对应的依赖,两个。再在映射文件中添加
外置和内置的区别:
外置的配置更多,setTimeToIdleSettings
No configuration found. Configuring ehcache from ehcache-failsafe.xml
把jar包中的对应文件复制到类路径下进行修改,不改也有默认值
二级缓存总结:
使用原则:不能出现多个namespace操作一张表的情况【二级缓存的作用范围都是namespace
对关联关系不能进行增删改操作
查询多于增删改可以使用,增删改会刷新。保证命中率高
二级缓存使用的时候,有三级开关
1.全局开关,在mybatis的主配置文件中,配置setting
2.局部开关:在映射文件中使用,可打开在该命名空间下的二级缓存
3.在查询的statement中属性userCache可以设置该sql语句是否使用