From aadf879be07d28f1afb584b1a337409f5e88fc62 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Thu, 17 Jul 2025 23:34:39 +0800 Subject: [PATCH] =?UTF-8?q?perf(mybatis):=20=E6=B7=BB=E5=8A=A0=20SQL=20?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E6=9C=AC=E5=9C=B0=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 MybatisPlusConfiguration 中添加 JsqlParserGlobal 配置 - 使用 JdkSerialCaffeineJsqlParseCache 作为 SQL 解析缓存- 设置缓存最大容量为1024,写入后 5 秒过期 --- .../config/mybatis/MybatisPlusConfiguration.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/continew-common/src/main/java/top/continew/admin/common/config/mybatis/MybatisPlusConfiguration.java b/continew-common/src/main/java/top/continew/admin/common/config/mybatis/MybatisPlusConfiguration.java index cf1d520c..9b47b736 100644 --- a/continew-common/src/main/java/top/continew/admin/common/config/mybatis/MybatisPlusConfiguration.java +++ b/continew-common/src/main/java/top/continew/admin/common/config/mybatis/MybatisPlusConfiguration.java @@ -17,12 +17,15 @@ package top.continew.admin.common.config.mybatis; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import com.baomidou.mybatisplus.extension.parser.JsqlParserGlobal; +import com.baomidou.mybatisplus.extension.parser.cache.JdkSerialCaffeineJsqlParseCache; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.crypto.password.PasswordEncoder; -import top.continew.starter.extension.datapermission.filter.DataPermissionUserContextProvider; import top.continew.starter.extension.datapermission.filter.DataPermissionUserDataProvider; +import java.util.concurrent.TimeUnit; + /** * MyBatis Plus 配置 * @@ -32,6 +35,12 @@ import top.continew.starter.extension.datapermission.filter.DataPermissionUserDa @Configuration public class MybatisPlusConfiguration { + // SQL 解析本地缓存 + static { + JsqlParserGlobal.setJsqlParseCache(new JdkSerialCaffeineJsqlParseCache(cache -> cache.maximumSize(1024) + .expireAfterWrite(5, TimeUnit.SECONDS))); + } + /** * 元对象处理器配置(插入或修改时自动填充) */