From f5a0e1d82ae66633c0cdc8ef705e871cfca03ce0 Mon Sep 17 00:00:00 2001 From: miemie Date: Thu, 23 Jan 2025 14:43:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20`AbstractCaffeineJsqlParseCache`?= =?UTF-8?q?=E5=BC=82=E6=AD=A5=E4=BA=A7=E7=94=9F=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../parser/cache/AbstractCaffeineJsqlParseCache.java | 8 +++++--- .../parser/cache/AbstractCaffeineJsqlParseCache.java | 8 +++++--- .../parser/cache/AbstractCaffeineJsqlParseCache.java | 9 +++++---- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/mybatis-plus-jsqlparser-support/mybatis-plus-jsqlparser-4.9/src/main/java/com/baomidou/mybatisplus/extension/parser/cache/AbstractCaffeineJsqlParseCache.java b/mybatis-plus-jsqlparser-support/mybatis-plus-jsqlparser-4.9/src/main/java/com/baomidou/mybatisplus/extension/parser/cache/AbstractCaffeineJsqlParseCache.java index d926f921e..94dd5e06d 100644 --- a/mybatis-plus-jsqlparser-support/mybatis-plus-jsqlparser-4.9/src/main/java/com/baomidou/mybatisplus/extension/parser/cache/AbstractCaffeineJsqlParseCache.java +++ b/mybatis-plus-jsqlparser-support/mybatis-plus-jsqlparser-4.9/src/main/java/com/baomidou/mybatisplus/extension/parser/cache/AbstractCaffeineJsqlParseCache.java @@ -77,6 +77,7 @@ public Statements getStatements(String sql) { * @param sql 执行 SQL * @return 返回泛型对象 */ + @SuppressWarnings("unchecked") protected T get(String sql) { byte[] bytes = cache.getIfPresent(sql); if (null != bytes) { @@ -97,14 +98,15 @@ protected T get(String sql) { * @param value 解析对象 */ protected void put(String sql, Object value) { + final byte[] serialVal = serialize(value); if (async) { if (executor != null) { - CompletableFuture.runAsync(() -> cache.put(sql, serialize(value)), executor); + CompletableFuture.runAsync(() -> cache.put(sql, serialVal), executor); } else { - CompletableFuture.runAsync(() -> cache.put(sql, serialize(value))); + CompletableFuture.runAsync(() -> cache.put(sql, serialVal)); } } else { - cache.put(sql, serialize(value)); + cache.put(sql, serialVal); } } diff --git a/mybatis-plus-jsqlparser-support/mybatis-plus-jsqlparser-5.0/src/main/java/com/baomidou/mybatisplus/extension/parser/cache/AbstractCaffeineJsqlParseCache.java b/mybatis-plus-jsqlparser-support/mybatis-plus-jsqlparser-5.0/src/main/java/com/baomidou/mybatisplus/extension/parser/cache/AbstractCaffeineJsqlParseCache.java index d926f921e..94dd5e06d 100644 --- a/mybatis-plus-jsqlparser-support/mybatis-plus-jsqlparser-5.0/src/main/java/com/baomidou/mybatisplus/extension/parser/cache/AbstractCaffeineJsqlParseCache.java +++ b/mybatis-plus-jsqlparser-support/mybatis-plus-jsqlparser-5.0/src/main/java/com/baomidou/mybatisplus/extension/parser/cache/AbstractCaffeineJsqlParseCache.java @@ -77,6 +77,7 @@ public Statements getStatements(String sql) { * @param sql 执行 SQL * @return 返回泛型对象 */ + @SuppressWarnings("unchecked") protected T get(String sql) { byte[] bytes = cache.getIfPresent(sql); if (null != bytes) { @@ -97,14 +98,15 @@ protected T get(String sql) { * @param value 解析对象 */ protected void put(String sql, Object value) { + final byte[] serialVal = serialize(value); if (async) { if (executor != null) { - CompletableFuture.runAsync(() -> cache.put(sql, serialize(value)), executor); + CompletableFuture.runAsync(() -> cache.put(sql, serialVal), executor); } else { - CompletableFuture.runAsync(() -> cache.put(sql, serialize(value))); + CompletableFuture.runAsync(() -> cache.put(sql, serialVal)); } } else { - cache.put(sql, serialize(value)); + cache.put(sql, serialVal); } } diff --git a/mybatis-plus-jsqlparser-support/mybatis-plus-jsqlparser/src/main/java/com/baomidou/mybatisplus/extension/parser/cache/AbstractCaffeineJsqlParseCache.java b/mybatis-plus-jsqlparser-support/mybatis-plus-jsqlparser/src/main/java/com/baomidou/mybatisplus/extension/parser/cache/AbstractCaffeineJsqlParseCache.java index d926f921e..6be675882 100644 --- a/mybatis-plus-jsqlparser-support/mybatis-plus-jsqlparser/src/main/java/com/baomidou/mybatisplus/extension/parser/cache/AbstractCaffeineJsqlParseCache.java +++ b/mybatis-plus-jsqlparser-support/mybatis-plus-jsqlparser/src/main/java/com/baomidou/mybatisplus/extension/parser/cache/AbstractCaffeineJsqlParseCache.java @@ -77,6 +77,7 @@ public Statements getStatements(String sql) { * @param sql 执行 SQL * @return 返回泛型对象 */ + @SuppressWarnings("unchecked") protected T get(String sql) { byte[] bytes = cache.getIfPresent(sql); if (null != bytes) { @@ -97,14 +98,15 @@ protected T get(String sql) { * @param value 解析对象 */ protected void put(String sql, Object value) { + final byte[] serialVal = serialize(value); if (async) { if (executor != null) { - CompletableFuture.runAsync(() -> cache.put(sql, serialize(value)), executor); + CompletableFuture.runAsync(() -> cache.put(sql, serialVal), executor); } else { - CompletableFuture.runAsync(() -> cache.put(sql, serialize(value))); + CompletableFuture.runAsync(() -> cache.put(sql, serialVal)); } } else { - cache.put(sql, serialize(value)); + cache.put(sql, serialVal); } } @@ -117,5 +119,4 @@ protected void put(String sql, Object value) { * 反序列化 */ public abstract Object deserialize(String sql, byte[] bytes); - }