首页 > 其他分享 >mybatis缓存

mybatis缓存

时间:2022-12-21 11:56:53浏览次数:33  
标签:缓存 一级 SqlSession 默认 开启 二级缓存 mybatis

Mybatis 中缓存分为一级缓存,二级缓存。

一级缓存
一级缓存是 SqlSession 级别的缓存,只要 SqlSession 没有 flush 或 close,它就存在
默认开启并使用
当调用 SqlSession 的修改,添加,删除,commit(),close()等方法时,就会清空一级缓存,这样
做的目的为了让缓存中存储的是最新的信息
sqlSession.clearCache();//此方法也可以清空缓存

二级缓存
二级缓存是 mapper 映射级别的缓存
默认开启但不使用
二级缓存的开启与关闭
1、在SqlMapConfig.xml中开启

<settings>
    <!-- 开启二级缓存的支持 -->
    <setting name="cacheEnabled" value="true"/>
</settings>
因为 cacheEnabled 的取值默认就为 true,所以这一步可以省略不配置。为 true 代表开启二级缓存;为
false 代表不开启二级缓存。

2、Mapper 映射文件

<mapper namespace="com.itheima.dao.IUserDao">
    <!-- 开启二级缓存的支持 -->
    <cache></cache>
</mapper>

3、statement 上面的 useCache 属性

<!-- 根据 id 查询 -->
<select id="findById" resultType="user" parameterType="int" useCache="true">
    select * from user where id = #{uid}
</select>

标签:缓存,一级,SqlSession,默认,开启,二级缓存,mybatis
From: https://www.cnblogs.com/yanshiheng/p/16995937.html

相关文章

  • mybatis-plus的分页
    mybatis-plus包含内置的分页插件,我们要做的就是配置拦截器,然后使用内置的分页类就可以了。配置Interceptor分页的使用QueryWrapper指定查询条件Page指定获取特定......
  • Mybatis 连接池,事务,动态sql
    1、连接池pooled用连接池unpooled不用连接池<dataSourcetype="POOLED"><propertyname="driver"value="${jdbc.driver}"/><propertyname="url"value="${jdbc.ur......
  • 基于Java springboot+mybatis+mysql+jsp网上书城管理系统
    @目录一、系统介绍二、功能展示1.主页(客户)2.登陆(客户)3.我的购物车(客户)4.我的订单(客户)5.我的图书(商家)6.新书上架(商家)7.订单管理(商家)7.统计分析(管理员)8.用户管理(用户管理......
  • 基于springboot+mybatis+vue软件缺陷管理系统
    @目录一、系统介绍二、功能展示1.主页2.个人中心3.缺陷管理4.项目管理5.系统管理6.统计分析三、代码展示四、获取源码一、系统介绍系统主要功能:开发人员:主页、个人中心(......
  • 基于Spring+SpringMVC+Mybatis+Mysql在线考试系统
    @目录一、系统介绍二、功能展示1.用户登陆2.学生页面3.考试信息(老师)4.试卷库(老师)5.试题库(老师)6.考生信息(老师)7.成绩分析(老师)8.成绩排名(老师)9.错题统计(老师)10.成绩导出(老......
  • mybatis-plus的LambdaQueryWrapper
    LambdaQueryWrapper与QueryWrapper类似,只不过QueryWrapper的列名使用的是字符串,而LambdaQueryWrapper使用的是Lambda语法,个人更推荐使用LambdaQueryWrapper,因为它增加了一......
  • 基于Springboot+Mybatis+mysql+vue考研规划与交流系统
    @目录一、系统介绍二、功能展示1.主页(普通用户)2.登陆、注册(普通用户)3.复习规划制定(普通用户)4.经验分享交流(普通用户)5.考研学校资讯(普通用户)6.我的文章(普通用户)7.个人信......
  • 开发一个MyBatis通用Mapper的轮子
    一、前言程序猿为什么如此执着于造轮子?MyBatis-Plus如此强大的工具流行这么多年了,我为啥还在重复造这样的轮子?1、公司的技术规范不允许使用MyBatis-Plus,咱也不知道什么原......
  • 缓存
    缓存都有哪些?缓存的类型分为:本地缓存、分布式缓存和多级缓存。本地缓存:本地缓存就是在进程的内存中进行缓存,比如我们的 JVM 堆中,可以用LRUMap来实现,也可以使用Ehcache......
  • MyBatis简介
    MyBatis简介1.什么是MyBatis一款优秀的持久层框架几乎避免了所有的JDBC代码和手动设置参数以及获取结果集的过程使用简单的XML或注解来配置和映射原生信息,将接口和Ja......