mybatis的一级缓存和二级缓存
一个SqlSession就类似一个数据库连接
二级缓存的含义
需要手动开启
二级缓存是基于 mapper文件的namespace级别的缓存,也就是说,只要namespace相同,多个sqlSession可以共享一个mapper中的二级缓存区域。
开启二级缓存
1、在配置文件中 开启二级缓存的总开关
<setting name="cacheEnabled" value="true"></setting>
2、 在mapper映射文件中开启二级缓存
<!-- 设置缓存 -->
<cache/>
不过不推荐使用二级缓存,两个不同namespace的操作同一个表 可能出现脏读的情况
一级缓存的含义
默认是开启的
一级缓存指的就是一个sqlsession级别的缓存,在一个sqlsession中有一个数据区域,是map结构,这个区域就是一级缓存区域。