Explorar o código

优化一下 AbstractWrapper 使用的 ISqlSegment

miemie %!s(int64=6) %!d(string=hai) anos
pai
achega
298dc2d51a

+ 5 - 4
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/conditions/AbstractWrapper.java

@@ -16,7 +16,6 @@
 package com.baomidou.mybatisplus.core.conditions;
 
 import static com.baomidou.mybatisplus.core.enums.SqlKeyword.AND;
-import static com.baomidou.mybatisplus.core.enums.SqlKeyword.APPLY;
 import static com.baomidou.mybatisplus.core.enums.SqlKeyword.ASC;
 import static com.baomidou.mybatisplus.core.enums.SqlKeyword.BETWEEN;
 import static com.baomidou.mybatisplus.core.enums.SqlKeyword.DESC;
@@ -36,6 +35,9 @@ import static com.baomidou.mybatisplus.core.enums.SqlKeyword.NE;
 import static com.baomidou.mybatisplus.core.enums.SqlKeyword.NOT;
 import static com.baomidou.mybatisplus.core.enums.SqlKeyword.OR;
 import static com.baomidou.mybatisplus.core.enums.SqlKeyword.ORDER_BY;
+import static com.baomidou.mybatisplus.core.enums.WrapperKeyword.APPLY;
+import static com.baomidou.mybatisplus.core.enums.WrapperKeyword.LEFT_BRACKET;
+import static com.baomidou.mybatisplus.core.enums.WrapperKeyword.RIGHT_BRACKET;
 import static java.util.stream.Collectors.joining;
 
 import java.util.Arrays;
@@ -106,7 +108,7 @@ public abstract class AbstractWrapper<T, R, This extends AbstractWrapper<T, R, T
     }
 
     public This setEntity(T entity) {
-        Assert.notNull(entity,"entity is not null");
+        Assert.notNull(entity, "entity is not null");
         this.entity = entity;
         this.entityClass = (Class<T>) entity.getClass();
         return typedThis;
@@ -347,8 +349,7 @@ public abstract class AbstractWrapper<T, R, This extends AbstractWrapper<T, R, T
      * @param condition 查询条件值
      */
     protected This addNestedCondition(boolean condition, Function<This, This> func) {
-        return doIt(condition, () -> StringPool.LEFT_BRACKET,
-            func.apply(instance(paramNameSeq, paramNameValuePairs)), () -> StringPool.RIGHT_BRACKET);
+        return doIt(condition, LEFT_BRACKET, func.apply(instance(paramNameSeq, paramNameValuePairs)), RIGHT_BRACKET);
     }
 
     /**

+ 2 - 1
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/conditions/segments/MatchSegment.java

@@ -19,6 +19,7 @@ import java.util.function.Predicate;
 
 import com.baomidou.mybatisplus.core.conditions.ISqlSegment;
 import com.baomidou.mybatisplus.core.enums.SqlKeyword;
+import com.baomidou.mybatisplus.core.enums.WrapperKeyword;
 
 /**
  * <p>
@@ -37,7 +38,7 @@ public enum MatchSegment {
     AND_OR(i -> i == SqlKeyword.AND || i == SqlKeyword.OR),
     EXISTS(i -> i == SqlKeyword.EXISTS),
     HAVING(i -> i == SqlKeyword.HAVING),
-    APPLY(i -> i == SqlKeyword.APPLY);
+    APPLY(i -> i == WrapperKeyword.APPLY);
 
     private final Predicate<ISqlSegment> predicate;
 

+ 0 - 1
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/enums/SqlKeyword.java

@@ -45,7 +45,6 @@ public enum SqlKeyword implements ISqlSegment {
     HAVING("HAVING"),
     ORDER_BY("ORDER BY"),
     EXISTS("EXISTS"),
-    APPLY(null),//只用作于辨识,不用于其他
     BETWEEN("BETWEEN"),
     ASC("ASC"),
     DESC("DESC");

+ 29 - 0
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/enums/WrapperKeyword.java

@@ -0,0 +1,29 @@
+package com.baomidou.mybatisplus.core.enums;
+
+import com.baomidou.mybatisplus.core.conditions.ISqlSegment;
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
+
+/**
+ * <p>
+ * wrapper 内部使用枚举
+ * </p>
+ *
+ * @author miemie
+ * @since 2018-07-30
+ */
+public enum WrapperKeyword implements ISqlSegment {
+    APPLY(null),//只用作于辨识,不用于其他
+    LEFT_BRACKET(StringPool.LEFT_BRACKET),
+    RIGHT_BRACKET(StringPool.RIGHT_BRACKET);
+
+    private String keyword;
+
+    WrapperKeyword(final String keyword) {
+        this.keyword = keyword;
+    }
+
+    @Override
+    public String getSqlSegment() {
+        return keyword;
+    }
+}