缓存是内存中的一块区域,用来存放一些数据, 从而提高查询的效率. MyBatis中支持数据缓存, 分为两个级别: 一级缓存和二级缓存. 一级缓存默认开启, 二级缓存默认关闭.
- 一级缓存
本地会话缓存, 也被称之为一级缓存, 默认开启. 指的是在同一个SqlSession中, 用户调用同一个id查询时, 数据会有缓存(即同一个sqlsession,同一个id). - 二级缓存
MyBatis基于SqlSessionFactory级别做的缓存,(比SqlSession大一级因为SqlSession通过SqlSessionFactory.openSession得到.) 二级缓存默认是关闭的, 如果要使用, 需要在指定的命名空间通过配置进行开启. 使用< cache />即可.
控制单元为单个映射文件,换个映射文件就需要重新配置.换言之就是不起作用