浏览代码

优化代码

java110 5 年之前
父节点
当前提交
df157ec72c
共有 1 个文件被更改,包括 12 次插入6 次删除
  1. 12 6
      java110-db/src/main/java/com/java110/db/Java110MybatisInterceptor.java

+ 12 - 6
java110-db/src/main/java/com/java110/db/Java110MybatisInterceptor.java

@@ -315,12 +315,15 @@ public class Java110MybatisInterceptor implements Interceptor {
             String tmpKey = orgSql.substring(orgSql.indexOf("(") + 1, orgSql.indexOf(")"));
             String tmpKey = orgSql.substring(orgSql.indexOf("(") + 1, orgSql.indexOf(")"));
             String[] tmpKeys = tmpKey.split(",");
             String[] tmpKeys = tmpKey.split(",");
 
 
-            if (values.size() < tmpKeys.length) {
-                throw new IllegalArgumentException("sql 错误 key 和value 个数不等" + sql);
-            }
+//            if (values.size() < tmpKeys.length) {
+//                throw new IllegalArgumentException("sql 错误 key 和value 个数不等" + sql);
+//            }
             for (int keyIndex = 0; keyIndex < tmpKeys.length; keyIndex++) {
             for (int keyIndex = 0; keyIndex < tmpKeys.length; keyIndex++) {
                 String key = tmpKeys[keyIndex].trim();
                 String key = tmpKeys[keyIndex].trim();
                 String value = "";
                 String value = "";
+                if (values.size() - 1 < keyIndex) {
+                    continue;
+                }
                 value = values.get(keyIndex);
                 value = values.get(keyIndex);
                 if ("''".equals(value)) {
                 if ("''".equals(value)) {
                     continue;
                     continue;
@@ -330,9 +333,9 @@ public class Java110MybatisInterceptor implements Interceptor {
         } else if (sqlCommandType == SqlCommandType.UPDATE) {
         } else if (sqlCommandType == SqlCommandType.UPDATE) {
             String tmpKey = orgSql.substring(sql.indexOf("set") + 3, orgSql.indexOf("where"));
             String tmpKey = orgSql.substring(sql.indexOf("set") + 3, orgSql.indexOf("where"));
             String[] tmpKeys = tmpKey.split(",");
             String[] tmpKeys = tmpKey.split(",");
-            if (values.size() < tmpKeys.length) {
-                throw new IllegalArgumentException("sql 错误 key 和value 个数不等" + sql);
-            }
+//            if (values.size() < tmpKeys.length) {
+//                throw new IllegalArgumentException("sql 错误 key 和value 个数不等" + sql);
+//            }
             for (int keyIndex = 0; keyIndex < tmpKeys.length; keyIndex++) {
             for (int keyIndex = 0; keyIndex < tmpKeys.length; keyIndex++) {
                 String tmpSetKey = tmpKeys[keyIndex];
                 String tmpSetKey = tmpKeys[keyIndex];
                 String[] keyValues = tmpSetKey.split("=");
                 String[] keyValues = tmpSetKey.split("=");
@@ -346,6 +349,9 @@ public class Java110MybatisInterceptor implements Interceptor {
                     key = keyValues[0].trim();
                     key = keyValues[0].trim();
                 }
                 }
                 String value = "";
                 String value = "";
+                if (values.size() - 1 < keyIndex) {
+                    continue;
+                }
                 value = values.get(keyIndex);
                 value = values.get(keyIndex);
                 if ("''".equals(value)) {
                 if ("''".equals(value)) {
                     continue;
                     continue;