(十三)Mybatis的入门教程—— 缓存有关的设置、属性、原理等

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Steriles_/article/details/81906821

和缓存有关的设置/属性:

1、全局配置文件中cacheEnabled = true/false  开启缓存/关闭缓存,首先会关闭二级缓存,一级缓存一直可用。

2、映射文件中每个select标签都有useCache="true",使用缓存;false就是不使用二级缓存,但一级缓存仍然使用

3、每个增删改标签中默认flushCache="true",意思是增删改执行完之后就会清除缓存。两级缓存都会被清空

4、在查询标签中默认flushCache="false",如果改为true,那么每次查询之后都会清空缓存,缓存就没有被使用。

5、sqlSession.clearCache(); 只是清除当前session的一级缓存,不影响二级缓存

6、localCacheScope;本地缓存作用域(一级缓存Session),当前会话的所有数据保存在会话缓存中;STATEMENT可以禁用一级缓存,但是一般也没有人去配置它。

 

缓存原理:

mybatis规定的Cache接口,提供以下实现类。缓存对于mybatis来说,就是一个map。

缓存的使用顺序:先看二级缓存,再看一级缓存,如果两个缓存都没有所需数据才去数据库查询。

 

第三方缓存(整合ehcache):

1、导入第三方缓存相关jar包。

2、实现Cache接口,即导入与第三方缓存整合的

ehcache的适配器包,点击下载相关的ehcache整合的jar包

3、在映射文件中修改cache标签中属性

<cache type="org.mybatis.caches.ehcache.EhcacheCache"></cache>

要把这个ehcache的配置文件放在类路径下。

4、可以测试结果

这就是ehcache打印的日志,或者去相应的文件夹中查看文件信息

5、引用缓存,用namespace来指定和哪个名称空间下的缓存一样。

<cache-ref namespace="com.atguigu.mybatis.dao.EmployeeMapper" />

 

总结:

猜你喜欢

转载自blog.csdn.net/Steriles_/article/details/81906821