mybatis的一级缓存和二级缓存

一个SqlSession就类似一个数据库连接

二级缓存的含义

需要手动开启

二级缓存是基于 mapper文件的namespace级别的缓存,也就是说,只要namespace相同,多个sqlSession可以共享一个mapper中的二级缓存区域。

开启二级缓存

1、在配置文件中 开启二级缓存的总开关

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

2、 在mapper映射文件中开启二级缓存

<!-- 设置缓存 -->
<cache/>

不过不推荐使用二级缓存,两个不同namespace的操作同一个表 可能出现脏读的情况

一级缓存的含义

默认是开启的

一级缓存指的就是一个sqlsession级别的缓存,在一个sqlsession中有一个数据区域,是map结构,这个区域就是一级缓存区域。

原文地址:https://www.cnblogs.com/linhongwenBlog/p/14518598.html