文章目录
- ⭐专栏介绍
- 问题描述
- 问题答案
⭐专栏介绍
本专栏会持续更新各种关于JAVA的问题,包括面试题,JAVA入门到精通等。
更新速度保持在每天3—5篇
问题描述
mybatis的一级缓存和二级缓存
问题答案
MyBatis提供了两级缓存:一级缓存和二级缓存。
一级缓存是在同一个SqlSession中的缓存。当执行查询语句时,结果会被存储在一级缓存中。接下来,
如果再次执行相同的查询语句,MyBatis会先检查一级缓存中是否存在该结果,如果存在,则直接从缓
存中返回结果,而不会再去数据库中查询。
二级缓存是在不同的SqlSession之间共享的缓存。如果开启了二级缓存,并且多个SqlSession都执行了
相同的查询语句,那么结果会被缓存起来。当其他SqlSession再次执行相同的查询语句时,会先检查二
级缓存中是否存在该结果,如果存在,则直接从缓存中返回结果。
一级缓存和二级缓存都是默认开启的,但可以通过配置文件进行关闭或者调整相关配置参数。