Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Mybatis注解开发使用二级缓存

Mybatis注解开发使用二级缓存

原创
作者头像
韦恩少爷的背
修改于 2020-03-23 02:33:08
修改于 2020-03-23 02:33:08
38700
代码可运行
举报
文章被收录于专栏:SSM框架学习SSM框架学习
运行总次数:0
代码可运行

Mybatis注解开发

一级缓存

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 @Test
    public void testFindOne() {

        SqlSession session = factory.openSession();
        IUserDao userDao = session.getMapper(IUserDao.class);
        User user = userDao.findById(55);
        System.out.println(user);

        session.close();//释放一级缓存

        SqlSession session1=factory.openSession();//再次打开session(不同的了)
        IUserDao userDao1=session1.getMapper(IUserDao.class);
        User user1=userDao1.findById(55);
        System.out.println(user1);

        session1.close();
    }

干了两次

开启二级缓存

默认打开的

原来xml配置要求配置文件要支持(当前的dao,操作要支持

现在用注解只需要一步 @CacheNamespace(blocking = true)

再次执行

并没有两次查询,表示已经开启了二级缓存

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Mybatis注解开发使用二级缓存
一、Mybatis注解的一级缓存 Mybatis注解的一级缓存不用配置 ,系统默认是开启的 二、Mybatis注解的二级缓存 1、 在 SqlMapConfig 中开启二级缓存支持 <!-- 配置二级缓存 --> <settings> <!-- 开启二级缓存的支持 --> <setting name="cacheEnabled" value="true"/> </settings> 2、在持久层接口中使用注解配置二级缓存 //开启二级缓存 @CacheNamespace(blocking = true) p
暴躁的程序猿
2022/03/23
3270
Mybatis注解开发使用二级缓存
Mybatis注解开发
实现复杂关系映射之前我们可以在映射文件中通过配置<resultMap>来实现,在使用注解开发时我们需要借助@Results 注解,@Result 注解,@One 注解,@Many 注解。
SerMs
2022/03/30
3250
Mybatis注解开发
MyBatis注解开发
指的是MyBatis中SqlSession对象的缓存,当我们执行查询之后,查询的结果会同时存入到SqlSession为我们提供一块区域中。
用户3112896
2019/09/26
4910
快速学习-Mybatis 缓存
像大多数的持久化框架一样,Mybatis 也提供了缓存策略,通过缓存策略来减少数据库的查询次数,从而提高性能。
cwl_java
2020/04/01
3770
MyBatis-延迟加载与MyBatis缓存(面试题)
 resultMap中的association(has a)和collection(has some)标签具有延迟加载的功能。  延迟加载的意思是说,在关联查询时,利用延迟加载,先加载主信息。需要关联信息时再去按需加载关联信息。这样会大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。
全栈程序员站长
2022/08/31
3480
MyBatis-延迟加载与MyBatis缓存(面试题)
mybatis框架一级和二级缓存
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
多凡
2019/11/01
4880
_Mybatis一级缓存和二级缓存(带测试方法)
OK,从运行结果上我们可以知道结果集返回到同一个对象中,而他们的哈希值反而不一样,说明执行第二次查询的时候新建了一个对象并且该对象指向那个对象并且将SqlSessionFactory中的数据赋值到新建的那个对象。其实从控制台打印的日志我们也可以得出,并没有执行查询方法,因为没有打印SQL语句,而且缓存也是从0.0改成了0.5,因此我们可以断定二级缓存存放的是数据而不是对象。
会洗碗的CV工程师
2023/11/21
7760
_Mybatis一级缓存和二级缓存(带测试方法)
Mac做java开发(九):Mybatis基于注解开发多对多表格操作
同样,对应的项目源码仓库地在:https://github.com/Jesselinux/Java_Web
用户5473628
2019/09/20
4820
Mac做java开发(九):Mybatis基于注解开发多对多表格操作
Mybatis的一级缓存、二级缓存
一级缓存: 它指的是Mybatis中SqlSession对象的缓存。 当我们执行查询之后,查询的结果会同时存入到SqlSession为我们提供一块区域中。 该区域的结构是一个Map。当我们再次查询同样的数据,mybatis会先去sqlsession中 查询是否有,有的话直接拿出来用。 当SqlSession对象消失时,mybatis的一级缓存也就消失了。
暴躁的程序猿
2022/03/23
3860
Mybatis的一级缓存、二级缓存
快速学习-Mybatis 注解开发
这几年来注解开发越来越流行,Mybatis 也可以使用注解开发方式,这样我们就可以减少编写 Mapper 映射文件了。本次我们先围绕一些基本的 CRUD 来学习,再学习复杂映射关系及延迟加载。
cwl_java
2020/04/01
7590
MyBatis框架:第十章:mybatis缓存
mybatis缓存 说明: 缓存指的是把一些常用的数据,保存到一个可以高速读取的缓冲区中。方便程序在频繁读取的时候,可以快速的取出数据。这就叫做缓存。
Java廖志伟
2022/09/28
2850
MyBatis框架:第十章:mybatis缓存
面试题:MyBatis二级缓存[通俗易懂]
①、一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。
全栈程序员站长
2022/09/29
7840
面试题:MyBatis二级缓存[通俗易懂]
MyBatis缓存技术入门就这么简单
在一个Web项目中,查询数据库中的操作算是一个非常常用的操作,但是有些数据会被经常性的查询,而每一次都去数据库中查询这些重复的数据,会很消耗数据库的资源,同时使得查询效率也很低,而 MyBatis 中就通过缓存技术来解决这样的问题,也就是说:将一些经常查询,并且不经常改变的,以及数据的正确对最后的结果影响不大的数据,放置在一个缓存容器中,当用户再次查询这些数据的时候,就不必再去数据库中查询,直接在缓存中提取就可以了
BWH_Steven
2020/02/20
2980
【MyBatis框架点滴】——MyBatis二级缓存
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/51770863
DannyHoo
2018/09/13
3400
【MyBatis框架点滴】——MyBatis二级缓存
MyBatis缓存
像大多数的持久化框架一样,MyBatis 也提供了缓存策略,通过缓存策略来减少数据库的查询次数,从而提高性能。
星哥玩云
2022/09/14
2880
MyBatis 二级缓存详解
我们在上一篇文章介绍了 MyBatis 的一级缓存的作用,如何开启,一级缓存的本质是什么,一级缓存失效的原因是什么?MyBatis 只有一级缓存吗?来找找答案吧!
cxuan
2019/08/13
3860
MyBatis 二级缓存详解
初识mybatis中的缓存
mybati的一级缓存作用域为session,当执行opensession()后,结果和sql会被存入缓存中,如果下次执行的sql(参数 语句)相同就直接从缓存当中拿取,而不再执行sql从数据库查询
许喜朝
2020/08/11
4880
快速学习-Mybatis 延迟加载策略
通过前面的学习,我们已经掌握了 Mybatis 中一对一,一对多,多对多关系的配置及实现,可以实现对象的关联查询。实际开发过程中很多时候我们并不需要总是在加载用户信息时就一定要加载他的账户信息。此时就是我们所说的延迟加载。
cwl_java
2020/04/01
9400
快速学习-Mybatis 延迟加载策略
Mybatis 框架实战(下)
当在同一个session范围内执行查询的时候,如果执行相同的查询,那么第二次查询会从缓存中获取数据。
Jingbin
2019/04/10
4340
MyBatis:缓存,延迟加载,注解应用
实际开发过程中很多时候并不需要总是在加载用户信息时就一定要加载他的订单信息。此时就是我们所说的延迟加载。
RendaZhang
2020/09/08
9330
MyBatis:缓存,延迟加载,注解应用
相关推荐
Mybatis注解开发使用二级缓存
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验