首页 > 其他分享 >Mybatis缓存

Mybatis缓存

时间:2023-02-13 15:35:31浏览次数:42  
标签:缓存 一级 SqlSession MyBatis 二级缓存 SQL Mybatis

什么是MyBatis中的缓存

MyBatis 中的缓存就是说 MyBatis 在执行一次SQL查询或者SQL更新之后,这条SQL语句并不会消失,而是被MyBatis 缓存起来,当再次执行相同SQL语句的时候,就会直接从缓存中进行提取,而不是再次执行SQL命令。

MyBatis中的缓存分为一级缓存和二级缓存,一级缓存又被称为 SqlSession 级别的缓存,二级缓存又被称为表级缓存。

MyBatis 中的一级缓存(默认开启)

一级缓存是 SqlSession级别 的缓存。在操作数据库时需要构造 sqlSession 对象,在对象中有一个(内存区域)数据结构(HashMap)用于存储缓存数据。不同的 sqlSession 之间的缓存数据区域(HashMap)是互相不影响的。用一张图来表示一下一级缓存,其中每一个 SqlSession 的内部都会有一个一级缓存对象。

在应用运行过程中,我们有可能在一次数据库会话中,执行多次查询条件完全相同的SQL,MyBatis 提供了一级缓存的方案优化这部分场景,如果是相同的SQL语句,会优先命中一级缓存,避免直接对数据库进行查询,提高性能。

 缓存(cache)

在mybatis.xml中配置

 

可以直接添加<cache>标签开启默认的二级缓存(mapper.xml当中配置)

二级缓存只生效于一个namespace

 

标签:缓存,一级,SqlSession,MyBatis,二级缓存,SQL,Mybatis
From: https://www.cnblogs.com/happy12123/p/17116526.html

相关文章

  • mybatis基于注解的多对多关联操作
    文章目录​​一、前言​​​​二、实体类:​​​​1、角色类RoleInfo​​​​2、权限类:ModuleInfo​​​​3、中间表ModuleRole​​​​三、多对多操作​​​​1、向中间表......
  • Python缓存机制
    1.什么是缓存机制Python对象在创建的时候,会为其开辟一个内存,当变量引用该对象时,实际上是指向该对象的内存地址,当该对象不在被引用,会被垃圾回收机制回收,释放内存。但......
  • Mybatis动态SQL
    动态SQLifchoose(when,otherwise)wheretrimsetforeachif动态SQL通常要做的事情是有条件地包含where子句的一部分。比如:<selectid="findActiveBlogWi......
  • 基于拦截器+mybatis+注解 实现对敏感字段进行加解密
    实现:自定义注解类自定义myabtis拦截器,拦截mybatis,主要涉及三个handler(StatementHandler,ParameterHandler,ResultSetHandler)自定义加解密工具类   ......
  • Mybatis使用注解实现一对多复杂关系映射
    一、问题引入:查询用户信息时,将用户的所有账户也查询出来,使用注解方式实现(一个账户具有多个用户信息,所以形成了用户和账户之间的一对多关系)account表user表:二......
  • Mybatis使用注解实现一对一复杂关系映射及延迟加载
    一、问题引入:在加载账户信息时同时加载该账户的用户信息,根据情况可实现延时加载(注解方式实现)数据库字段如下:user表:account表:二、添加User实体类和Account类us......
  • Mybatis注解开发
    环境搭建单表CRUD操作(代理Dao方式)多表查询操作缓存的配置总结:mybatis的环境搭建第一步:创建maven工程并导入坐标第二步:创建实体类和dao的接口第三步:创建My......
  • mybatis 表与表 关联查询 (一)
     @MapperpublicinterfaceDeptMapper{/***分步查询员工*及员工所对应的部门*分步查询第二步:*通过部门查询员工所对应的部门......
  • 分布式缓存服务DCS-企业版性能更强,稳定性更高
    背景介绍近年来,随着各行业业务需求急速增加,数据量和并发访问量呈指数级增长,原来只能依附于关系型数据库的传统“缓存”逐渐难以支撑上层业务,开源Redis也面临着如“容量有......
  • 分布式高并发系统(2) 缓存
    1.什么是缓存?缓存(Cache)一般指的是一种具备高效读写能力的暂存区域,目的是让数据更接近用户,使得用户的访问速度更快或者访问成本更低。缓存的工作原理是先从缓存中获取数......