Mybatis一级缓存是默认开启的,作用于同一个SqlSession的,SqlSession用HashMap缓存数据,不同SqlSession互不相关。每当建立一个数据库会话时就会创建一个SqlSession,会话结束释放SqlSession。在一个会话中,若使用相同的sql以及参数只会调用一次数据库,其余都是调用缓存。
Mybatis二级缓存是默认不开启的,作用于一个Application,是Mapper级别的,多个SqlSession使用同一个Mapper的sql能够使用二级缓存。
<cache eviction="LRU" flushInterval="100000" readOnly="true" size="1024"/>
网友评论