一级缓存

是SqlSession级别的缓存,当使用了clearCache方法和,或者close方法的话,这个缓存失效,如果还有同样的查询,则还会发送一次查询

SqlSession session = SqlSessionFactoryUtil.getSession();
Emp emp = session.selectOne("queryEmpByNo", 7900);
System.out.println(emp);
Emp emp2 = session.selectOne("queryEmpByNo", 7900);
System.out.println(emp2);

二级缓存

二级缓存是跨sqlsession的缓存,就是mapper缓存,也就是说,如果前面执行了close方法,后一个SqlSession查询,是可以在SqlSession查询到的,但如果执行了cleaCache方法,则不行

步骤
  1. 需要在mybatis的核心配置文件(mybatis-config.xml)
    <!-- 开启全局二级缓存 -->
    <setting name="cacheEnabled" value="true"/>
  2. 在mapper.xml文件里也要开启缓存
    <!--开启缓存-->
    <cache/>
  3. 实体类要支持序列化,也就是实现Serializable接口
SqlSession session = SqlSessionFactoryUtil.getSession();
Emp emp = session.selectOne("queryEmpByNo", 7900);
System.out.println(emp);
session.close();
session = SqlSessionFactoryUtil.getSession();
Emp emp2 = session.selectOne("queryEmpByNo", 7900);
System.out.println(emp2);

最新文章

  1. js cookie
  2. C语言pow函数编写
  3. Vector 和 ArrayList 区别
  4. 再谈EF Core内存数据库单元测试问题
  5. Linux平台屏幕录像工具RecordMyDesktop
  6. LeetCode:Clone Graph
  7. Java基础之理解Annotation(与@有关,即是注释)
  8. Leetcode | Minimum/Maximum Depth of Binary Tree
  9. .NET 里操作Excel 出现有些列的数据取不到的问题
  10. JQ笔记
  11. 【转】android自动化测试之MonkeyRunner使用实例(三)
  12. 【jsp 防盗链】Referer的简单使用
  13. C++引用的作用
  14. 学习笔记—MySQL基础
  15. ubuntu安装驱动问题
  16. layui实现checkbox的目录树tree
  17. 安徽师大附中%你赛day7 T2 乘积 解题报告
  18. css隐藏元素的几种方法与区别
  19. 轻松搞定RabbitMQ(五)——路由选择
  20. 【.Net Core 学习系列】-- EF Core 实践(Code First)

热门文章

  1. Python学习笔记: 闭包
  2. nrf51822微信开发入门学习笔记1:开始前的准备
  3. HDU - 6199 gems gems gems (DP)
  4. ACM-ICPC 2015 Shenyang Preliminary Contest B. Best Solver
  5. JAVA、JDK等入门概念,下载安装JAVA并配置环境变量
  6. 2015四川省赛 D Vertex Cover 搜索
  7. 【Netty】Netty入门之WebSocket小例子
  8. loj2276 「HAOI2017」新型城市化
  9. java中,为什么char类型数组可以直接用数组名打印,打印结果居然不是地址值!
  10. Python学习——第一天