1、简述
MyBatis是Java开发中常用的持久层框架之一,通过面向对象的方式操作数据库。为了提高系统性能,MyBatis提供了两级缓存机制:一级缓存(本地缓存)和二级缓存(全局缓存)。本文将详细讲解MyBatis缓存机制的使用原理、配置方法,并通过示例展示如何合理地使用缓存优化数据访问效率。
2、基础原理
2.1 一级缓存
- 作用范围:一级缓存是基于SqlSession级别的缓存,即在同一个SqlSession中执行的相同SQL语句将会从缓存中获取结果,而不会再去查询数据库。
- 存储方式:一级缓存的默认存储机制是基于HashMap实现的。
- 特点:默认开启,无法跨SqlSession共享数据,查询范围有限。
2.2 二级缓存
- 作用范围:二级缓存是基于Mapper级别的缓存,即同一个命名空间的Mapper都可以共享二级缓存。
- 存储方式:MyBatis默认使用PerpetualCache作为