Mybatis一二级缓存
时间: 2024-01-16 12:05:17 浏览: 81
MyBatis一二级缓存
MyBatis提供了两级缓存:一级缓存和二级缓存。
一级缓存是指在同一个SqlSession中执行相同的SQL语句时,第二次及以后的查询会直接从缓存中获取数据,而不需要再次查询数据库。一级缓存是SqlSession级别的缓存,其默认开启,不需要进行额外的配置。
二级缓存是指多个SqlSession共享同一个缓存区域,在同一个namespace(Mapper接口)中查询的数据会被缓存起来,当再次查询相同的数据时,会从缓存中获取数据,而不需要再次查询数据库。需要注意的是,二级缓存需要进行配置才能使用。
在使用二级缓存时,需要注意以下几点:
1. 需要在映射文件中配置缓存:
```
<cache type="org.mybatis.caches.ehcache.EhcacheCache"/>
```
2. 需要在MyBatis配置文件中开启二级缓存:
```
<settings>
<setting name="cacheEnabled" value="true"/>
</settings>
```
3. 需要在Mapper接口对应的xml文件中开启二级缓存:
```
<cache/>
```
4. 如果开启了二级缓存,需要注意缓存数据的更新,在修改、删除或新增数据时需要进行缓存的清空或更新操作。
阅读全文