Mybatis中的一级,二级缓存
Mybatis中的缓存
在项目和数据库中间存在Mybatis缓存,请求数据库时如果命中缓存就会先查询缓存
本地缓存
基于PerpetualCache,本质是一个HashMap
一级缓存和二级缓存都是本地缓存
一级缓存
作用域为sqlsession级别
默认打开
当sqlsession清空或者关闭时,这个session对应的缓存就会清空
二级缓存
作用域是namespace和mapper的作用域,不依赖于sqlsession
默认关闭
在全局配置文件中进行配置
在mapper中添加标签
无论是一级缓存还是二级缓存,都会在对应作用域发生增删改时自动清空缓存