知识点:mybatis缓存相关的设置和属性

重点:每次执行增删改操作后,一二级缓存被清空,是因为标签设置默认属性为 flushCache="true"

(1)

<!-- 全局映射器启用缓存 -->
<setting name="cacheEnabled" value="true"/>
中的 cacheEnabled:false 关闭二级缓存(一级缓存是可用的) (2) mapper.xml中每个select标签都有一个useCache="true",为false时,不使用缓存(一级缓存依然可以使用,二级缓存不能使用)
如果,设置单个select标签不使用二级缓存,可设置 useCache="false" (3) a.每个增删改标签有:都有 flushCache="true" 默认为true
所以每次增删改执行完成,会清除缓存,一级缓存清空,二级缓存也会被清空
b.查询标签 flushCache="false" 默认为false
如果设置 flushCache="true" ,每次查询之后都会清空缓存,缓存是没有被使用的 (4)sqlSession.clearCache():只是清除session的一级缓存,二级缓存不清除
(5)<setting name="localCacheScope" value="SESSION"/>
localCacheScope:本地缓存作用域(一级缓存SESSION),当前会话的所有数据会保存在会话缓存中
value=" STATEMENT":可以禁用一级缓存

mybatis缓存有关的设置和属性的更多相关文章

  1. 使用MyBatis缓存

    (1).为什么需要使用缓存:: MyBatis是一个持久层(数据库层)映射框架,在所有访问数据库的操作中,无疑数据查询是最耗费数据库资源的操作了,因为你一次可能需要查询成千上百万条记录(如果你不加限制 ...

  2. MyBatis学习总结(四)——MyBatis缓存与代码生成

    一.MyBatis缓存 缓存可以提高系统性能,可以加快访问速度,减轻服务器压力,带来更好的用户体验.缓存用空间换时间,好的缓存是缓存命中率高的且数据量小的.缓存是一种非常重要的技术. 1.0.再次封装 ...

  3. mybatis缓存机制

    目录 mybatis缓存机制 Executor和缓存 一级缓存 小结 二级缓存 小结 mybatis缓存机制 mybatis支持一.二级缓存来提高查询效率,能够正确的使用缓存的前提是熟悉mybatis ...

  4. mybatis缓存(一,二级别)

    数据查找过程: 二级缓存(默认关闭) -> 一级缓存(默认开启) -> 数据库 一级缓存: 一级缓存是SqlSession自带的.SqlSession对象被创建,一级缓存就存在了.//是针 ...

  5. Mybatis系列(四):Mybatis缓存

    一.MyBatis缓存介绍 MyBatis 提供了一级缓存和二级缓存的支持        1. 一级缓存: 默认开启,基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Se ...

  6. MyBatis缓存通俗易懂

    1.1     mybatis缓存介绍 如下图,是mybatis一级缓存和二级缓存的区别图解: Mybatis一级缓存的作用域是同一个SqlSession,在同一个sqlSession中两次执行相同的 ...

  7. Mybatis缓存(二)

    Mybatis的二级缓存 1.二级缓存的范围  1. 二级缓存是Mapper级别的缓存.  2. 二级缓存的结构也是一个HashMap.  3. 不同的SqlSession对象去操作同一个mapper ...

  8. Mybatis(三):MyBatis缓存详解

    MyBatis缓存分为一级缓存和二级缓存 一级缓存 MyBatis的一级缓存指的是在一个Session域内,session为关闭的时候执行的查询会根据SQL为key被缓存(跟mysql缓存一样,修改任 ...

  9. 分享知识-快乐自己:Mybatis缓存机制

    论缓存机制: 1):mybatis 提供了缓存机制减轻数据库压力,提高数据库性能. 2):mybatis 的缓存分为两级:一级缓存.二级缓存 3):一级缓存是SqlSession级别的缓存,缓存的数据 ...

随机推荐

  1. Unpacking and repacking stock rom .img files

    http://forum.xda-developers.com/galaxy-s2/general/ref-unpacking-repacking-stock-rom-img-t1081239 OP ...

  2. 关于VFS文件系统中的superblock、inode、d_entry和file数据结构

  3. python 中几个层次的中文编码.md

    转自:[http://swj.me/] 介绍 一直不太喜欢使用命令行,所以去年年底的技术创新中,使用TkInter来开发小工具.结果花费了大量的时间来学习TkInter ui的使用. 最近想整理该工具 ...

  4. Django 框架之视图函数(Views)

    http请求中产生的两个核心对象: http请求: HttpRequest对象 http响应: HttpResponse对象 所在位置: django.http HttpRequest 对象的属性和方 ...

  5. 转!!mybatis xml 传值 if test判断

    当mapper方法传参数 为 String时,且xml中药进行参数比较 比如 是不是等于1 或者等于2 方式1. 方式2. 转自:https://blog.csdn.net/chenaini119/a ...

  6. DjangoORM 执行 python manage.py makemigrations出现 no changes detected

    出现 no changes detected python manage.py makemigrations No changes detected 为什么出现这种情况: 当执行这条命令,他会去找所有 ...

  7. 最简单的win7、win8免费升级正版win10图文教程

    https://www.microsoft.com/zh-cn/software-download/windows10 http://jingyan.baidu.com/article/19192ad ...

  8. MyBatis3用户指南

    1. 范围和生命周期     SqlSessionFactoryBuilder -->SqlSessionFactory-->SqlSession-->Mapper 实例 SqlSe ...

  9. CanvasRenderingContext2D.imageSmoothingEnabled

    https://developer.mozilla.org/zh-CN/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled 这是一个 ...

  10. POJ1664:放苹果(线性dp)

    题目: http://poj.org/problem?id=1664 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1 ...