MyBatis缓存及注解开发

通过缓存来减少数据库的查询次数,提高性能
Mybatis分为一级缓存,二级缓存
MyBatis缓存及注解开发_第1张图片

一级缓存

  • 一级缓存是SqlSession级别的缓存,只要SqlSession没有flush或者close,它就存在。
  • MyBatis缓存及注解开发_第2张图片

二级缓存

  • 多个mapper映射级别的缓存,多个SqlSession去操作同一个Mapper映射的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨SqlSession的。
  • MyBatis缓存及注解开发_第3张图片

二级缓存的开启与关闭

在SqlMapConfig.xml文件开启二级缓存

 
  
   
因为 cacheEnabled 的取值默认就为 true,所以这一步可以省略不配置。为 true 代表开启二级缓存;为 false 代表不开启二级缓存。 

配置相关的Mapper映射文件

  
  
 

配置statement上的useCache属性

 
 
将 UserDao.xml 映射文件中的