MyBatis缓存理解和配置使用

来源:互联网 发布:域名反查ip 编辑:程序博客网 时间:2024/06/05 18:53

Mybatis 两种缓存的理解和配置


(1)一级缓存是基于 PerpetualCache的 HashMap 本地缓存,HashMap当中存储的是sql语句,sql参数的值仍然被看做是一次储存。

      作用范围为SqlSession,所以当session commit或close后,缓存就会被清空

    --------------- 存储在内存当中--------------------

(2)二级缓存也是基于 PerpetualCache的 HashMap

       需要在配置文件当中设置(在Mybatis的配置文件当中)。

<setting name="cacheEnabled"value="true"/>

      在需要进行缓存的mapper文件UserMapper.xml中加上

   <cachereadOnly="true"></cache>

?

二级缓存是存储结果集对象,如果相同的sql,参数值不同。任然需要从数据库当中取值。

-------------------存储在内存或硬盘,Java bean需要序列化--------------

参考博文:

              http://blog.csdn.net/zouxucong/article/details/68947052(非常的详细)

              http://blog.csdn.net/csdn_huangyumin/article/details/50764443(sql相同,参数相同的情况)