特别说明:由于二级缓存是基于Mapper的,当你在不同的mapper中查询了相同的数据,例如不同的Mapper中有多表查询时结果中有相同的数据,当其中一个Mapper进行插入更新缓存时,另一个并没有插入更新,那么使用两个mapper查询出来的数据会出现数据不一致的情况,所以MyBatis默认的二级缓存的实现方式需要慎用,也因此MyBatis的二级缓存都默认关闭。
主要步骤(基于springboot+mybatis)
1 导入依赖
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
mysql
mysql-connector-java
5.1.8
org.mybatis.caches
mybatis-ehcache
1.1.0
2 开启全局缓存
开启全局配置
3 配置ehcache.xml
注意:ehcache.xml必须放在classpath路径下,并且名字必须是ehcache.xml(因为CacheManager默认就是加载classpath路径下的ehcache.xml文件,当然也可以自己设置,这就需要自己继承EhcacheCache自己写逻辑)
maxElementsInMemory="10000"
maxElementsOnDisk="