Spring Boot MyBatis 及 MyBatis-Plus 禁用一级缓存
MyBatis MyBatis-Plus Spring Boot About 650 words场景
在同一个session
中(大多场景是同一次请求中),需要多次执行相同的查询语句,来判断是否有数据变更。
一级缓存
在以上场景下,MyBatis
/MyBatis-Plus
因为默认开启了一级缓存,所以执行相同查询SQL
(大多是同一个Mapper
的同一个方法)时便直接从Java
本地缓存中查询了,不再发送SQL
从数据库读取最新数据。
相关配置
application.yaml
配置文件中添加相关配置。
MyBatis
mybatis:
configuration:
local-cache-scope: statement
MyBatis-Plus
mybatis-plus:
configuration:
local-cache-scope: statement
备注
排查一级缓存是否禁用可以配合SQL
日志输出,如果命中了一级缓存则日志没有输出。
MyBatis
mybatis:
configuration:
local-cache-scope: statement
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
MyBatis-Plus
mybatis-plus:
configuration:
local-cache-scope: statement
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
Views: 185 · Posted: 2024-08-29
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...