Mybatis 的一级缓存是什么?

一级缓存是 SqlSession 级别,默认开启且不能关闭。

操作数据库时需要创建 SqlSession 对象,对象中有一个 HashMap 存储缓存数据,不同 SqlSession 之间缓存数据区域互不影响。

一级缓存的作用域是 SqlSession 范围的,在同一个 SqlSession 中执行两次相同的 SQL 语句时,第一次执行完毕会将结果保存在缓存中,第二次查询直接从缓存中获取。

如果 SqlSession 执行了 DML 操作(insert、update、delete),Mybatis 必须将缓存清空保证数据有效性。

posted @ 2022-05-07 00:29  张三丰学Java  阅读(54)  评论(0编辑  收藏  举报