MyBatis的flushCache和useCache的使用

原创 2016年08月19日 11:17:07

(1)当为select语句时:

flushCache默认为false,表示任何时候语句被调用,都不会去清空本地缓存和二级缓存。

useCache默认为true,表示会将本条语句的结果进行二级缓存。

(2)当为insert、update、delete语句时:

flushCache默认为true,表示任何时候语句被调用,都会导致本地缓存和二级缓存被清空。

useCache属性在该情况下没有。

当为select语句的时候,如果没有去配置flushCache、useCache,那么默认是启用缓存的,所以,如果有必要,那么就需要人工修改配置,修改结果类似下面:

<select id="save" parameterType="XX" flushCache="true" useCache="false">
    ……
</select>
update 的时候如果 flushCache="false",则当你更新后,查询的数据数据还是老的数据。

相关文章推荐

MyBatis的flushCache和useCache的使用注意

之前在利用MyBatis做开发的时候,遇到了一个问题,使用select配置的时候发现前后两次的结果是一样的,并且使用statementType="CALLABLE"配置,然后在配置中写PL/SQL代码...

mybatis的userCache和flushCache

在MyBatis中有flushCache、useCache这两个配置属性,分为下面几种情况: (1)当为select语句时: flushCache默认为false,表示任何时候语句被调用,都不会去...

深入了解MyBatis二级缓存

MyBatis深入了解二级缓存
  • isea533
  • isea533
  • 2015年03月30日 08:57
  • 61708

MyBatis的缓存配置(Cache)

一、MyBatis的Cache配置 1、全局开关:默认是true,如果它配成false,其余各个Mapper XML文件配成支持cache也没用。 2、各个Mapper XML文件...
  • woshisap
  • woshisap
  • 2011年09月27日 12:57
  • 22184

MyBatis的flushCache和useCache的使用

(1)当为select语句时: flushCache默认为false,表示任何时候语句被调用,都不会去清空本地缓存和二级缓存。 useCache默认为true,表示会将本条语句的结...
  • H12KJGJ
  • H12KJGJ
  • 2017年02月13日 00:05
  • 377

ARM使用术语清除(flush)和清理(clean)表示对cache的两种基本操作

    清除cache的意思是清除cache中存储的全部数据。对处理器而言,清除操作只要清零相应cache行的有效位即可。当存储器配置上有变化时,整体或部分cache可能需要进行清除操作。有时也用术语...
  • arriod
  • arriod
  • 2008年08月25日 13:37
  • 16161

MyBatis_sqlsession.flushStatements(作用总结

MyBatis_sqlsession.flushStatements(作用总结; 当有处于事物中的时候 sqlSession.flushStatements();起到一种预插入的作用(执行了这行代...

深入浅出Mybatis-改造Cache

在前面的文章里,我开发了两个插件:根据注解实现的sql自动生成插件和分页插件。这两个插件在没有开启cache的情况下可以很好的使用,但开启cache后却出现了一些问题,为了解决这些问题,我编写了拦截c...

《深入理解mybatis原理》 MyBatis缓存机制的设计与实现

本文主要讲解MyBatis非常棒的缓存机制的设计原理,给读者们介绍一下MyBatis的缓存机制的轮廓,然后会分别针对缓存机制中的方方面面展开讨论。...

MyBatis(3.4.2)的Cache机制完全解析

基于MyBatis3.4.2源码深度解析缓存机制,包括一级缓存和二级缓存。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MyBatis的flushCache和useCache的使用
举报原因:
原因补充:

(最多只允许输入30个字)