|
@@ -13,6 +13,7 @@ import java.util.Properties;
|
|
|
import java.util.Set;
|
|
|
import java.util.concurrent.ConcurrentHashMap;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.parser.SqlParserHelper;
|
|
|
import org.apache.ibatis.executor.statement.StatementHandler;
|
|
|
import org.apache.ibatis.logging.Log;
|
|
|
import org.apache.ibatis.logging.LogFactory;
|
|
@@ -288,12 +289,11 @@ public class IllegalSQLInterceptor implements Interceptor {
|
|
|
public Object intercept(Invocation invocation) throws Throwable {
|
|
|
StatementHandler statementHandler = (StatementHandler) PluginUtils.realTarget(invocation.getTarget());
|
|
|
MetaObject metaObject = SystemMetaObject.forObject(statementHandler);
|
|
|
- // 如果是insert操作,不进行验证
|
|
|
+ // 如果是insert操作, 或者 @SqlParser(filter = true) 跳过该方法解析 , 不进行验证
|
|
|
MappedStatement mappedStatement = (MappedStatement) metaObject.getValue("delegate.mappedStatement");
|
|
|
- if (SqlCommandType.INSERT.equals(mappedStatement.getSqlCommandType())) {
|
|
|
+ if (SqlCommandType.INSERT.equals(mappedStatement.getSqlCommandType()) || SqlParserHelper.getSqlParserInfo(metaObject)) {
|
|
|
return invocation.proceed();
|
|
|
}
|
|
|
-
|
|
|
BoundSql boundSql = (BoundSql) metaObject.getValue("delegate.boundSql");
|
|
|
String originalSql = boundSql.getSql();
|
|
|
logger.debug("检查SQL是否合规,SQL:" + originalSql);
|