deason 11 miesięcy temu
rodzic
commit
0349511a77

+ 19 - 30
examcloud-core-oe-admin-base/src/main/java/cn/com/qmth/examcloud/core/oe/admin/base/jpa/SqlWrapper.java

@@ -10,10 +10,7 @@ package cn.com.qmth.examcloud.core.oe.admin.base.jpa;
 import java.util.Collection;
 
 /**
- * 原生SQL包装类
- *
- * @author: QMTH
- * @since: 2018/8/28
+ * 常用SQL包装类
  */
 public class SqlWrapper {
 
@@ -39,10 +36,6 @@ public class SqlWrapper {
 
     private static final String LEFT_JOIN = " LEFT JOIN ";
 
-    private static final String UNION_ALL = " UNION ALL ";
-
-    private static final String UNION = " UNION ";
-
     private static final String ON = " ON ";
 
     private static final String AS = " AS ";
@@ -69,8 +62,6 @@ public class SqlWrapper {
 
     private static final String DESC = " DESC ";
 
-    private static final String HAVING = " HAVING ";
-
     private StringBuilder sql = new StringBuilder();
 
     public SqlWrapper select() {
@@ -144,11 +135,6 @@ public class SqlWrapper {
         return this;
     }
 
-    public SqlWrapper having() {
-        sql.append(HAVING);
-        return this;
-    }
-
     public SqlWrapper or() {
         sql.append(OR);
         return this;
@@ -164,13 +150,8 @@ public class SqlWrapper {
         return this;
     }
 
-    public SqlWrapper like(String fieldName, Number value) {
-        sql.append(fieldName).append(LIKE).append("'%").append(value).append("%'");
-        return this;
-    }
-
     public SqlWrapper eq(String fieldName, Number value) {
-        sql.append(fieldName).append(" = ").append("'").append(value).append("'");
+        sql.append(fieldName).append(" = ").append(value);
         return this;
     }
 
@@ -185,7 +166,7 @@ public class SqlWrapper {
     }
 
     public SqlWrapper notEq(String fieldName, Number value) {
-        sql.append(fieldName).append(" != ").append("'").append(value).append("'");
+        sql.append(fieldName).append(" != ").append(value);
         return this;
     }
 
@@ -195,7 +176,7 @@ public class SqlWrapper {
     }
 
     public SqlWrapper gt(String fieldName, Number value) {
-        sql.append(fieldName).append(" > ").append("'").append(value).append("'");
+        sql.append(fieldName).append(" > ").append(value);
         return this;
     }
 
@@ -205,7 +186,7 @@ public class SqlWrapper {
     }
 
     public SqlWrapper gte(String fieldName, Number value) {
-        sql.append(fieldName).append(" >= ").append("'").append(value).append("'");
+        sql.append(fieldName).append(" >= ").append(value);
         return this;
     }
 
@@ -215,7 +196,7 @@ public class SqlWrapper {
     }
 
     public SqlWrapper lt(String fieldName, Number value) {
-        sql.append(fieldName).append(" < ").append("'").append(value).append("'");
+        sql.append(fieldName).append(" < ").append(value);
         return this;
     }
 
@@ -225,7 +206,7 @@ public class SqlWrapper {
     }
 
     public SqlWrapper lte(String fieldName, Number value) {
-        sql.append(fieldName).append(" <= ").append("'").append(value).append("'");
+        sql.append(fieldName).append(" <= ").append(value);
         return this;
     }
 
@@ -282,21 +263,29 @@ public class SqlWrapper {
     }
 
     private String spilt(Collection<?> values) {
-        if (values == null || values.size() == 0) {
+        if (values == null || values.isEmpty()) {
             throw new IllegalArgumentException("Values must be not empty.");
         }
-        int index = 0, total = values.size();
+
         StringBuilder str = new StringBuilder();
+
+        int index = 0, total = values.size();
         for (Object value : values) {
-            if (!(value instanceof CharSequence || value instanceof Number)) {
+            if (value instanceof Number) {
+                str.append(value);
+            } else if (value instanceof CharSequence) {
+                str.append("'").append(value).append("'");
+            } else {
                 throw new IllegalArgumentException("Values must be charSequence or number.");
             }
-            str.append(value.toString());
+
             if (index < (total - 1)) {
                 str.append(",");
             }
+
             index++;
         }
+
         return str.toString();
     }