一级缓存
一级缓存是针对于SqlSession对象进行缓存的,当执行两次相同的查询语句时,第一次查询将会把数据写在
内存中,第二次直接从缓存中取数据。
使用场景:
- 数据几乎不会改变的
- 数据的正确与否对最终结果影响不大的
当两次查询中间执行了增删改,commit,以及close和clearCache操作时,缓存会清空!
二级缓存
指的是Mybatis中SqlSessionFactory对象的缓存,由同一个SqlSessionFactory创建的对象共享其缓存。
使用步骤
- 让Mybatis框架支持二级缓存(在配置文件中配置)
默认是true,可以不配置
- 让当前映射文件支持二级缓存(在映射文件中配置),插入
<cache/>
标签 - 让select标签支持二级缓存
userCache=“true”