Mybatis 之 缓存结构

时间:2023-03-09 17:04:51
Mybatis 之 缓存结构

Mybatis默认提供两种缓存方式,一级缓存是SqlSession 级别的缓存,二级缓存是Mapper 级别的缓存

SqlSession 级别的缓存,每个缓存是相对独立,互不影响;Mapper 级别 每个SqlSession 会话对象操作同一个namespace 的mapper.xml 中的SQL  ,缓存是共享的。

操作流程一般是:写入,清空(在SqlSession 会话对象 commit 以后,会进行清空操作),读入。

Mybatis 默认支持一级缓存。

开启二级缓存的方式:

有两个步骤:

(1)在Mybatis 的全局配置文件SqlMapConfig.xml 中配置setting 属性

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

(2) 在mapper.xml 中添加一个cache 标签

<cache/>