MyBatis学习笔记(2)--缓存

一、什么是缓存

  --存在于内存中的临时数据。

  为什么使用缓存?--减少和数据库的交互次数,提高执行效率。

  适用于缓存的数据:

    1.经常查询并且不经常改变的数据。

    2.数据的正确与否对最终结果影响较小的。

  不适用于缓存的数据:   

    1.经常改变的数据。

    2.数据的正确与否对最终结果影响很大的。如:商品的库存,银行的汇率等。

二、MyBatis中的缓存

  一级缓存:指的是MyBatis中SqlSession的对象的缓存。

    当我们执行查询后,查询的结果会同时存入到SqlSession为我们提供的一块区域中。该区域结构是一个Map。当我们再次查询同样的数据,MyBatis会先去

SqlSession中查询是否有,有的话直接拿出来用。当SqlSession对象消失时,MyBatis的一级缓存也就消失了。

  二级缓存:指的是MyBatis中SqlSessionFactory对象的缓存。由同一个SqlSessionFactory对象创建的SqlSession共享其缓存。

    二级缓存使用:

      1.让MyBatis框架支持二级缓存(在SqlMapConfig.xml配置文件中配置)。 

      2.在当前的映射文件中配置支持二级缓存(Mapper.xml配置文件中配置)。<cache/>

      3.让当前的操作支持二级缓存(在select标签中配置)。 配置属性  useCache="true"

posted @ 2020-04-14 01:17  yuer!  阅读(96)  评论(0编辑  收藏  举报