miemie 4 years ago
parent
commit
2e4a68af6a

+ 18 - 15
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/parser/JsqlParserSupport.java

@@ -26,11 +26,11 @@ public abstract class JsqlParserSupport {
 
     public String parserSingle(String sql, Object obj) {
         if (logger.isDebugEnabled()) {
-            logger.debug("Original SQL: " + sql);
+            logger.debug("original SQL: " + sql);
         }
         try {
             Statement statement = CCJSqlParserUtil.parse(sql);
-            return processParser(statement, 0, obj);
+            return processParser(statement, 0, sql, obj);
         } catch (JSQLParserException e) {
             throw ExceptionUtils.mpe("Failed to process, Error SQL: %s", e, sql);
         }
@@ -38,7 +38,7 @@ public abstract class JsqlParserSupport {
 
     public String parserMulti(String sql, Object obj) {
         if (logger.isDebugEnabled()) {
-            logger.debug("Original SQL: " + sql);
+            logger.debug("original SQL: " + sql);
         }
         try {
             // fixed github pull/295
@@ -49,7 +49,7 @@ public abstract class JsqlParserSupport {
                 if (i > 0) {
                     sb.append(StringPool.SEMICOLON);
                 }
-                sb.append(processParser(statement, i, obj));
+                sb.append(processParser(statement, i, sql, obj));
                 i++;
             }
             return sb.toString();
@@ -64,19 +64,22 @@ public abstract class JsqlParserSupport {
      * @param statement JsqlParser Statement
      * @return sql
      */
-    protected String processParser(Statement statement, int index, Object obj) {
+    protected String processParser(Statement statement, int index, String sql, Object obj) {
+        if (logger.isDebugEnabled()) {
+            logger.debug("SQL to parse, SQL: " + sql);
+        }
         if (statement instanceof Insert) {
-            this.processInsert((Insert) statement, index, obj);
+            this.processInsert((Insert) statement, index, sql, obj);
         } else if (statement instanceof Select) {
-            this.processSelect((Select) statement, index, obj);
+            this.processSelect((Select) statement, index, sql, obj);
         } else if (statement instanceof Update) {
-            this.processUpdate((Update) statement, index, obj);
+            this.processUpdate((Update) statement, index, sql, obj);
         } else if (statement instanceof Delete) {
-            this.processDelete((Delete) statement, index, obj);
+            this.processDelete((Delete) statement, index, sql, obj);
         }
-        final String sql = statement.toString();
+        sql = statement.toString();
         if (logger.isDebugEnabled()) {
-            logger.debug("parser sql: " + sql);
+            logger.debug("parse the finished SQL: " + sql);
         }
         return sql;
     }
@@ -84,28 +87,28 @@ public abstract class JsqlParserSupport {
     /**
      * 新增
      */
-    protected void processInsert(Insert insert, int index, Object obj) {
+    protected void processInsert(Insert insert, int index, String sql, Object obj) {
         throw new UnsupportedOperationException();
     }
 
     /**
      * 删除
      */
-    protected void processDelete(Delete delete, int index, Object obj) {
+    protected void processDelete(Delete delete, int index, String sql, Object obj) {
         throw new UnsupportedOperationException();
     }
 
     /**
      * 更新
      */
-    protected void processUpdate(Update update, int index, Object obj) {
+    protected void processUpdate(Update update, int index, String sql, Object obj) {
         throw new UnsupportedOperationException();
     }
 
     /**
      * 查询
      */
-    protected void processSelect(Select select, int index, Object obj) {
+    protected void processSelect(Select select, int index, String sql, Object obj) {
         throw new UnsupportedOperationException();
     }
 }

+ 2 - 2
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/inner/BlockAttackInnerInterceptor.java

@@ -52,12 +52,12 @@ public class BlockAttackInnerInterceptor extends JsqlParserSupport implements In
     }
 
     @Override
-    protected void processDelete(Delete delete, int index, Object obj) {
+    protected void processDelete(Delete delete, int index, String sql, Object obj) {
         this.checkWhere(delete.getWhere(), "Prohibition of full table deletion");
     }
 
     @Override
-    protected void processUpdate(Update update, int index, Object obj) {
+    protected void processUpdate(Update update, int index, String sql, Object obj) {
         this.checkWhere(update.getWhere(), "Prohibition of table update operation");
     }
 

+ 3 - 3
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/inner/IllegalSQLInnerInterceptor.java

@@ -109,7 +109,7 @@ public class IllegalSQLInnerInterceptor extends JsqlParserSupport implements Inn
     }
 
     @Override
-    protected void processSelect(Select select, int index, Object obj) {
+    protected void processSelect(Select select, int index, String sql, Object obj) {
         PlainSelect plainSelect = (PlainSelect) select.getSelectBody();
         Expression where = plainSelect.getWhere();
         Assert.notNull(where, "非法SQL,必须要有where条件");
@@ -120,7 +120,7 @@ public class IllegalSQLInnerInterceptor extends JsqlParserSupport implements Inn
     }
 
     @Override
-    protected void processUpdate(Update update, int index, Object obj) {
+    protected void processUpdate(Update update, int index, String sql, Object obj) {
         Expression where = update.getWhere();
         Assert.notNull(where, "非法SQL,必须要有where条件");
         Table table = update.getTable();
@@ -130,7 +130,7 @@ public class IllegalSQLInnerInterceptor extends JsqlParserSupport implements Inn
     }
 
     @Override
-    protected void processDelete(Delete delete, int index, Object obj) {
+    protected void processDelete(Delete delete, int index, String sql, Object obj) {
         Expression where = delete.getWhere();
         Assert.notNull(where, "非法SQL,必须要有where条件");
         Table table = delete.getTable();

+ 4 - 4
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/plugins/inner/TenantLineInnerInterceptor.java

@@ -83,7 +83,7 @@ public class TenantLineInnerInterceptor extends JsqlParserSupport implements Inn
     }
 
     @Override
-    protected void processSelect(Select select, int index, Object obj) {
+    protected void processSelect(Select select, int index, String sql, Object obj) {
         processSelectBody(select.getSelectBody());
         List<WithItem> withItemsList = select.getWithItemsList();
         if (!CollectionUtils.isEmpty(withItemsList)) {
@@ -108,7 +108,7 @@ public class TenantLineInnerInterceptor extends JsqlParserSupport implements Inn
     }
 
     @Override
-    protected void processInsert(Insert insert, int index, Object obj) {
+    protected void processInsert(Insert insert, int index, String sql, Object obj) {
         if (tenantLineHandler.ignoreTable(insert.getTable().getName())) {
             // 过滤退出执行
             return;
@@ -144,7 +144,7 @@ public class TenantLineInnerInterceptor extends JsqlParserSupport implements Inn
      * update 语句处理
      */
     @Override
-    protected void processUpdate(Update update, int index, Object obj) {
+    protected void processUpdate(Update update, int index, String sql, Object obj) {
         final Table table = update.getTable();
         if (tenantLineHandler.ignoreTable(table.getName())) {
             // 过滤退出执行
@@ -157,7 +157,7 @@ public class TenantLineInnerInterceptor extends JsqlParserSupport implements Inn
      * delete 语句处理
      */
     @Override
-    protected void processDelete(Delete delete, int index, Object obj) {
+    protected void processDelete(Delete delete, int index, String sql, Object obj) {
         if (tenantLineHandler.ignoreTable(delete.getTable().getName())) {
             // 过滤退出执行
             return;

+ 1 - 1
mybatis-plus/src/test/resources/logback.xml

@@ -7,7 +7,7 @@
         </encoder>
     </appender>
 
-    <logger name="com.baomidou.mybatisplus.test" level="debug" additivity="false">
+    <logger name="com.baomidou.mybatisplus" level="debug" additivity="false">
         <appender-ref ref="STDOUT"/>
     </logger>