上一篇:21-Mybatis二级缓存https://blog.csdn.net/fsjwin/article/details/109685894
缓存相关的设置
1. <setting name="cacheEnabled" value="false"/> 关闭二级缓存,一级缓存可正常使用
2. <select useCache="false"> 关闭二级缓存,一级缓存可正常使用
3. <select flushCache="true"> :一二级均被清空
4. sqlsession.clearCache(); 仅对sqlsession有影响,即清除一级缓存
5. localCacheScope:默认:session
- MyBatis 利用本地缓存机制(Local Cache)防止循环引用和加速重复的嵌套查询。 默认值为 SESSION,会缓存一个会话中执行的所有查询。 若设置值为 STATEMENT,本地缓存将仅用于执行语句,对相同 SqlSession 的不同查询将不会进行缓存。
1. cacheEnabled:false 关闭二级缓存,一级缓存可正常使用
settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
<!--开启二级缓存https://mybatis.org/mybatis-3/zh/configuration.html-->
<setting name="cacheEnabled" value="false"/>
</settings>
1.一级缓存可正常使用
2.关闭二级缓存
2. select useCache=“false” 关闭二级缓存,一级缓存可正常使用
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
<!--开启二级缓存https://mybatis.org/mybatis-3/zh/configuration.html-->
<setting name="cacheEnabled" value="true"/>
</settings>
1.一级缓存可正常使用
2.关闭二级缓存
3. select flushCache=“true”>:一二级均被清空
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
<!--开启二级缓存https://mybatis.org/mybatis-3/zh/configuration.html-->
<setting name="cacheEnabled" value="true"/>
</settings>
1.一级缓存被清空
2.二级缓存被清空
4. sqlsession.clearCache(); 仅对sqlsession有影响,即清除一级缓存
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
<!--开启二级缓存https://mybatis.org/mybatis-3/zh/configuration.html-->
<setting name="cacheEnabled" value="true"/>
</settings>
1.一级缓存被清空
2.二级缓存被无影响
5. localCacheScope:默认:session
修改为statement
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
<!--开启二级缓存https://mybatis.org/mybatis-3/zh/configuration.html-->
<setting name="cacheEnabled" value="true"/>
<setting name="localCacheScope" value="STATEMENT"/>
</settings>
6. 总结
5个标签,均要知道,面试可能会问到哦!
<select flushCache="false"> :重要。。
下一篇:23-Mybatis集成第三方缓存框架EHCache https://blog.csdn.net/fsjwin/article/details/109686032