MyBatis的一级缓存

什么是缓存?

把当前查询出来的数据进行记录,下一次查询相同数据时,从缓存中去取,就不会重新访问数据库了

MyBatis的缓存分为一级缓存和二级缓存

一级缓存默认是开启的

缓存只针对查询功能有效

CacheMapper

CacheMapper.xml

测试

dart 复制代码
package com.baidu.mybatis;
import com.baidu.mybatis.mapper.CacheMapper;
import com.baidu.mybatis.pojo.Emp;
import com.baidu.mybatis.utils.SqlSessionUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
public class CacheMapperTest {

    @Test
    public void testCache() {
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        SqlSession sqlSession2 = SqlSessionUtils.getSqlSession();

        CacheMapper mapper = sqlSession.getMapper(CacheMapper.class);

        Emp emp = mapper.getEmpByEid(1);
        Emp emp2 = mapper.getEmpByEid(1);

        System.out.println("emp = " + emp);
        System.out.println("emp2 = " + emp2);

        System.out.println("--------------------");

        CacheMapper mapper1 = sqlSession.getMapper(CacheMapper.class);
        Emp emp3 = mapper1.getEmpByEid(1);
        Emp emp4 = mapper1.getEmpByEid(1);
        System.out.println("emp3 = " + emp3);
        System.out.println("emp4 = " + emp4);

        System.out.println("------------------------");

        CacheMapper mapper2 = sqlSession2.getMapper(CacheMapper.class);
        Emp emp5 = mapper2.getEmpByEid(1);
        Emp emp6 = mapper2.getEmpByEid(1);
        System.out.println("emp5 = " + emp5);
        System.out.println("emp6 = " + emp6);


    }

}

可以看到不同sqlsession,才会输出sql语句

相关推荐
软件技术NINI15 分钟前
基于SpringBoot和Vue的摇滚乐鉴赏网站
vue.js·spring boot·后端·spring·html·毕业设计·毕设
Tsuki_tl32 分钟前
【总结】Redis五大数据类型应用场景及基本命令
数据库·redis·后端·缓存·缓存中间件·redis命令·redis 五大数据类型
一枕槐安48716 小时前
RAG 服务扛住高并发:缓存、队列、限流三件套
java·spring·缓存·异步任务·rag·断路器
YDS82919 小时前
Small Spring IOC篇:作用域和FactoryBean
java·后端·spring
雷一言说19 小时前
Spring AI 2.0 Modular RAG:接入 Rerank 重排模型
spring
学到老活到老19 小时前
第 22 集:Filter、Interceptor、AOP 都能拦截,为什么不能互换?
java·后端·spring
郭小李20 小时前
spring 中的 @EnableWebMvc注解和WebMvcConfigurer接口
java·后端·spring
CoderYanger21 小时前
Java EE 进阶:5. Spring IoC&DI(第二弹):Spring IoC
java·开发语言·spring boot·spring·面试·职场和发展·java-ee
霸道流氓气质1 天前
AI 翻译插件:翻译记忆级联复用、术语混合检索与结构化质量门禁的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
霸道流氓气质1 天前
智能表单生成器:结构化输出契约、JSON Schema 驱动渲染与 EAV/JSONB 混合存储的 Vue3 + Spring AI 生产级实战
人工智能·spring·json