zoukankan      html  css  js  c++  java
  • MyBatis的缓存

    原文:https://blog.csdn.net/AdminGuan/article/details/99291773

    一级缓存
    一级缓存指Session缓存;作用域同一个SqlSession内;默认开启一级缓存。也就是在同一个SqlSession中,执行相同的查询SQL,第一次会去数据库进行查询,并写到缓存中; 第二次以后是直接去缓存中取。 当执行SQL查询中间发生了增删改的操作,MyBatis会把SqlSession的缓存清空。

    同一个sqlSession内第二次查询是到缓存中查询,不用再连一次数据库查询,只要一条查询语句

     

    同一个sqlSession内对数据进行修改(增、删、改)会把缓存清空,第二次查询要重新到数据库中查询,有两条查询语句

    二级缓存

    二级缓存指mapper映射文件;作用域是同一个namespace下的mapper映射文件内容,多个SqlSession共享;需要手动设置启动二级缓存。

    开启二级缓存步骤:

    ① 在 mybatis-config.xml 中如下配置

    <settings>
      <!-- 开启二级缓存 -->
      <setting name="cacheEnabled" value="true"/>
    </settings>

    ② 在 entity 中实现序列化接口

    // implements Serializable --> 实现序列化接口
    public class User implements Serializable {
     
        private static final long serialVersionUID = 1L;
     
    }

    ③ 在 UserMapper.xml 中开启二级缓存

    <!-- 开启二级缓存 -->
    <cache readOnly="true"/>

     不同的sqlSession内第二次查询是到mapper映射文件查询,只要一条查询语句

     二级缓存对数据进行修改(增、删、改)同样会把缓存清空,第二次查询要重新到数据库中查询,有两条查询语句

  • 相关阅读:
    jython运行python文件
    jython查看帮助help和模块modules
    ubuntu 星际译王3.0.1-9.4隐藏主界面不能打开
    ubuntu火狐(firfox)浏览器安装视频插件
    ubuntu安装mp4播放器vlc & smplayer
    ubuntu+Windows双系统默认引导顺序
    notepad++ 各种颜色调整
    Linux绿色版软件expect
    aix下shell读取脚本文件并逐行执行
    AIX系统常用命令
  • 原文地址:https://www.cnblogs.com/lvchengda/p/12597592.html
Copyright © 2011-2022 走看看