Mybatis缓存

1. 一级缓存

一级缓存的命中条件

  1. 相同的SQL和参数
  2. 会话级别(sqlSession)缓存,如果要命中它,必须是相同的会话
  3. 相同的方法
  4. 相同的命名空间namespace(mapper)
  5. 不能够在查询之前 执行clearCache
  6. 不能执行update,delete,insert操作


一级缓存运行流程图解
Mybatis缓存

Mybatis实现一级缓存

Mybatis缓存
Mybatis缓存

2. 二级缓存

在Dao层接口加上@CacheNamespace,自动开启二级缓存
Mybatis缓存

二级缓存的命中条件

  1. @CacheNamespace

Mybatis缓存