From 72586eaf36f18a51fafbe8e53fc55c236eb8bde0 Mon Sep 17 00:00:00 2001 From: zhouxiang <zhouxiang> Date: 星期一, 25 四月 2022 00:27:47 +0800 Subject: [PATCH] b --- src/main/java/com/hx/mybatis/aes/springbean/SqlUtils.java | 17 +++++++++++++++-- src/main/java/com/hx/mybatis/aes/springbean/MySqlInterceptor.java | 13 +++++++++---- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/hx/mybatis/aes/springbean/MySqlInterceptor.java b/src/main/java/com/hx/mybatis/aes/springbean/MySqlInterceptor.java index 71684ef..2d94032 100644 --- a/src/main/java/com/hx/mybatis/aes/springbean/MySqlInterceptor.java +++ b/src/main/java/com/hx/mybatis/aes/springbean/MySqlInterceptor.java @@ -72,10 +72,15 @@ sql = SqlUtils.deleteSql(sql, VariableAesKey.aesKeysTable); } - //閫氳繃鍙嶅皠淇敼sql璇彞 - Field field = boundSql.getClass().getDeclaredField("sql"); - field.setAccessible(true); - field.set(boundSql, sql); + + + if(!"err".equals(sql)){ + //閫氳繃鍙嶅皠淇敼sql璇彞 + Field field = boundSql.getClass().getDeclaredField("sql"); + field.setAccessible(true); + field.set(boundSql, sql); + } + return invocation.proceed(); } diff --git a/src/main/java/com/hx/mybatis/aes/springbean/SqlUtils.java b/src/main/java/com/hx/mybatis/aes/springbean/SqlUtils.java index 3da69dc..015815f 100644 --- a/src/main/java/com/hx/mybatis/aes/springbean/SqlUtils.java +++ b/src/main/java/com/hx/mybatis/aes/springbean/SqlUtils.java @@ -15,6 +15,8 @@ import com.alibaba.druid.util.JdbcConstants; import com.alibaba.druid.util.JdbcUtils; import com.hx.util.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.Collection; @@ -26,6 +28,9 @@ * @author CJH 2022-01-12 */ public class SqlUtils { + //log4j鏃ュ織 + private static Logger logger = LoggerFactory.getLogger(SqlUtils.class.getName()); + /**鏌ヨ鍔犲瘑鏁版嵁澶勭悊锛屽彧瀵规煡璇㈠仛澶勭悊锛宻elect杩斿洖涓嶅仛澶勭悊 * @param sql sql璇彞 @@ -39,14 +44,22 @@ //鑾峰彇鏍煎紡鍖栫殑slq璇彞 sql = sqlStatement.toString(); + + //瑙f瀽select鏌ヨ //SQLSelect sqlSelect = sqlStatement.getSelect() //鑾峰彇sql鏌ヨ鍧� - SQLSelectQueryBlock sqlSelectQuery; + SQLSelectQueryBlock sqlSelectQuery = null; + boolean b = true; try{ sqlSelectQuery = (SQLSelectQueryBlock)sqlStatement.getSelect().getQuery() ; }catch (Exception e){ - return sql; + b = false; + logger.error("瑙f瀽sql鎶ラ敊锛�",e.getMessage()); + } + + if(!b){ + return "err"; } StringBuffer out = new StringBuffer() ; -- Gitblit v1.8.0