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: 2,317 · Posted: 2024-08-29
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...