您当前的位置:首页 > 电脑百科 > 程序开发 > 框架

MyBatis:MyBatis一二级缓存,你学会了吗?

时间:2023-04-27 13:39:54  来源:今日头条  作者:日拱一卒程序猿

一、一级缓存

1、在⼀个sqlSession中,对User表根据id进行两次查询,查看他们发出sql语句的情况。

2、同样是对user表进⾏两次查询,只不过两次查询之间进⾏了⼀次update操作。

3、总结

(1)第⼀次发起查询⽤户id为1的⽤户信息,先去找缓存中是否有id为1的⽤户信息,如果没有,从数据库查询⽤户信息。得到⽤户信息,将⽤户信息存储到⼀级缓存中。

(2)如果中间sqlSession去执⾏commit操作(执⾏插⼊、更新、删除),则会清空SqlSession中的⼀级缓存,这样做的目的为了让缓存中存储的是最新的信息,避免脏读。

(3)第⼆次发起查询用户id为1的⽤户信息,先去找缓存中是否有id为1的⽤户信息,缓存中有,直接从缓存中获取用户信息

二、⼆级缓存

⼆级缓存的原理和⼀级缓存原理一样,第⼀次查询,会将数据放⼊缓存中,然后第⼆次查询则会直接去缓存中取。

但是⼀级缓存是基于sqlSession的,⽽⼆级缓存是基于mApper⽂件的namespace的,也就

是说多个sqlSession可以共享⼀个mapper中的⼆级缓存区域,并且如果两个mapper的namespace相同,即使是两个mapper,那么这两个mapper中执⾏sql查询到的数据也将存在相同的⼆级缓存区域中。



Tags:MyBatis   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
一、一级缓存1、在⼀个sqlSession中,对User表根据id进行两次查询,查看他们发出sql语句的情况。2、同样是对user表进⾏两次查询,只不过两次查询之间进⾏了⼀次update操作。3、总...【详细内容】
2023-04-27  Tags: MyBatis  点击:(0)  评论:(0)  加入收藏
这段代码展示了如何通过Java配置类的方式来配置MyBatis框架,其中涉及到数据源的配置、SqlSessionFactory的创建、SqlSessionTemplate的创建以及事务管理器的创建。@MapperSca...【详细内容】
2023-04-23  Tags: MyBatis  点击:(9)  评论:(0)  加入收藏
MyBatis具有很多特性,包括支持一级和二级缓存。尽管缓存是提高性能的重要手段,但MyBatis的一级和二级缓存并不被建议使用。所以我们今天就来看看到底会有什么问题?一、什么是My...【详细内容】
2023-04-20  Tags: MyBatis  点击:(10)  评论:(0)  加入收藏
在 MyBatis 中,可以使用${}或#{}来拼接 SQL 语句中的参数。在进行模糊查询时,需要使用通配符 % 表示任意字符,具体写法如下: 使用${}:<select id="selectUsersByName" resultTyp...【详细内容】
2023-04-16  Tags: MyBatis  点击:(15)  评论:(0)  加入收藏
前言数据源,实际就是数据库连接池,负责管理数据库连接,在Springboot中,数据源通常以一个bean的形式存在于IOC容器中,也就是我们可以通过依赖注入的方式拿到数据源,然后再从数据源...【详细内容】
2023-04-12  Tags: MyBatis  点击:(8)  评论:(0)  加入收藏
一、前言来看这篇文章的应该都知道,在没有出现Hibernate和Mybatis框架时,我们要访问数据库底层,都得使用JDBC来连接及操作数据库。用过JDBC的都知道使用很繁杂,所以就诞生了Hib...【详细内容】
2023-04-03  Tags: MyBatis  点击:(10)  评论:(0)  加入收藏
最近做项目遇到一个问题,外键关联查询,返回长度为1,但是值为 All elements are null没数据。有两张表,分别为a表有数据,b表无数据。select b.* from a as a left join b as b on...【详细内容】
2023-03-30  Tags: MyBatis  点击:(34)  评论:(0)  加入收藏
本文博主给大家带来一篇 mybatis xml 文件热加载的实现教程,自博主从事开发工作使用 Mybatis 以来,如果需要修改 xml 文件的内容,通常都需要重启项目,因为不重启的话,修改是不生...【详细内容】
2023-03-25  Tags: MyBatis  点击:(8)  评论:(0)  加入收藏
我们使用了Druid、MyBatis Plus和Sharding JDBC来实现分表功能。其中,Druid是一个高性能的数据库连接池,MyBatis Plus是一个基于MyBatis的ORM框架,Sharding JDBC是一个分库分表...【详细内容】
2023-03-13  Tags: MyBatis  点击:(49)  评论:(0)  加入收藏
一、前言小编最近一直在研究关于分库分表的东西,前几天docker安装了mycat实现了分库分表,但是都在说mycat的bug很多。很多人还是倾向于shardingsphere,其实他是一个全家桶,有JDB...【详细内容】
2023-03-05  Tags: MyBatis  点击:(60)  评论:(0)  加入收藏
▌简易百科推荐
一、一级缓存1、在⼀个sqlSession中,对User表根据id进行两次查询,查看他们发出sql语句的情况。2、同样是对user表进⾏两次查询,只不过两次查询之间进⾏了⼀次update操作。3、总...【详细内容】
2023-04-27  日拱一卒程序猿  今日头条  Tags:MyBatis   点击:(0)  评论:(0)  加入收藏
1 为什么要做接口防刷?如果你的服务器应用,被一些人而已攻击,写入脚本不停的刷服务端的某一个接口,这样服务端的压力聚会非常的,甚至可能给服务端带来灾难,如果是涉及支付相关的...【详细内容】
2023-04-24  程序猿怪咖    Tags:SpringBoot   点击:(4)  评论:(0)  加入收藏
这段代码展示了如何通过Java配置类的方式来配置MyBatis框架,其中涉及到数据源的配置、SqlSessionFactory的创建、SqlSessionTemplate的创建以及事务管理器的创建。@MapperSca...【详细内容】
2023-04-23  豆ok  今日头条  Tags:MyBatis   点击:(9)  评论:(0)  加入收藏
受益于开源技术的发展,以及响应快速开发的实际业务需求,跨平台开发不仅限于移动端跨平台,桌面端虽然在市场应用方面场景不像移动端那么丰富,但也有市场的需求。相对于个人开发者...【详细内容】
2023-04-19  艾特程序员  搜狐号  Tags:框架   点击:(11)  评论:(0)  加入收藏
抖音开源了一个前端UI框架-Semi-UI,还是不错的。大家可以了解下哈,等成熟了,可以用用。Semi-UI,现代、全面、灵活的设计系统和 UI 库。快速搭建美观的React 应用。github开源地...【详细内容】
2023-04-18  Meta     Tags:UI框架   点击:(18)  评论:(0)  加入收藏
Mor (发音为 /mɔːr/,类似 more) 是饿了么开发的一款基于小程序 DSL 的,可扩展的多端研发框架。...【详细内容】
2023-04-18    CSDN  Tags: MorJS   点击:(23)  评论:(0)  加入收藏
项目介绍一款基于开源框架实现的脚手架平台,帮助中小企业快速迭代开发。项目特点项目架构项目架构项目功能 会员管理 文档管理 菜单管理 用户管理 角色管理 系统日志 接口ap...【详细内容】
2023-04-17  睿智的仁杰  今日头条  Tags:脚手架   点击:(20)  评论:(0)  加入收藏
在 MyBatis 中,可以使用${}或#{}来拼接 SQL 语句中的参数。在进行模糊查询时,需要使用通配符 % 表示任意字符,具体写法如下: 使用${}:<select id="selectUsersByName" resultTyp...【详细内容】
2023-04-16      Tags:MyBatis   点击:(15)  评论:(0)  加入收藏
今天要聊的就是「博客管理」中全文搜索的实现,基于 SpringBoot+Vue+ES 实现,先给大家看一下效果: 全文搜索+关键字高亮,是不是和百度的效果差不多,话不多说,直接聊如何实现。 该...【详细内容】
2023-04-15  会踢球的程序源  今日头条  Tags:SpringBoot   点击:(18)  评论:(0)  加入收藏
前言 在日常开发中经常遇到运营审核经销商活动、任务等等类似业务需求,大部分需求中状态稳定且单一无需使用状态机,但是也会出现大量的if...else前置状态代码,也是不够那么的“...【详细内容】
2023-04-12  之家技术  微信公众号  Tags:Spring   点击:(19)  评论:(0)  加入收藏
站内最新
站内热门
站内头条