Mybatis 两种缓存的理解和配置
(1)一级缓存是基于 PerpetualCache的 HashMap 本地缓存,HashMap当中存储的是sql语句,sql参数的值仍然被看做是一次储存。
作用范围为SqlSession,所以当session commit或close后,缓存就会被清空
--------------- 存储在内存当中--------------------
(2)二级缓存也是基于 PerpetualCache的 HashMap
需要在配置文件当中设置(在Mybatis的配置文件当中)。
<
setting
name
=
"cacheEnabled"
value
=
"true"
/>
<
cache
readOnly
=
"true"
></
cache
>
二级缓存是存储结果集对象,如果相同的sql,参数值不同。任然需要从数据库当中取值。
-------------------存储在内存或硬盘,Java bean需要序列化--------------
参考博文:
http://blog.csdn.net/zouxucong/article/details/68947052(非常的详细)
http://blog.csdn.net/csdn_huangyumin/article/details/50764443(sql相同,参数相同的情况)