浏览代码

Nested 接口个别入参是 `Function<Param, Param> func` 的method,入参更改为 `Consumer<Param> consumer`,不影响规范的使用

miemie 6 年之前
父节点
当前提交
aee2a14e41

+ 11 - 9
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/conditions/AbstractWrapper.java

@@ -32,7 +32,7 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.function.BiPredicate;
-import java.util.function.Function;
+import java.util.function.Consumer;
 
 import static com.baomidou.mybatisplus.core.enums.SqlKeyword.*;
 import static com.baomidou.mybatisplus.core.enums.WrapperKeyword.*;
@@ -190,18 +190,18 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
     }
 
     @Override
-    public Children and(boolean condition, Function<Children, Children> func) {
-        return and(condition).addNestedCondition(condition, func);
+    public Children and(boolean condition, Consumer<Children> consumer) {
+        return and(condition).addNestedCondition(condition, consumer);
     }
 
     @Override
-    public Children or(boolean condition, Function<Children, Children> func) {
-        return or(condition).addNestedCondition(condition, func);
+    public Children or(boolean condition, Consumer<Children> consumer) {
+        return or(condition).addNestedCondition(condition, consumer);
     }
 
     @Override
-    public Children nested(boolean condition, Function<Children, Children> func) {
-        return addNestedCondition(condition, func);
+    public Children nested(boolean condition, Consumer<Children> consumer) {
+        return addNestedCondition(condition, consumer);
     }
 
     @Override
@@ -337,8 +337,10 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
      *
      * @param condition 查询条件值
      */
-    protected Children addNestedCondition(boolean condition, Function<Children, Children> func) {
-        return doIt(condition, LEFT_BRACKET, func.apply(instance()), RIGHT_BRACKET);
+    protected Children addNestedCondition(boolean condition, Consumer<Children> consumer) {
+        final Children instance = instance();
+        consumer.accept(instance);
+        return doIt(condition, LEFT_BRACKET, instance, RIGHT_BRACKET);
     }
 
     /**

+ 13 - 13
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/conditions/interfaces/Nested.java

@@ -16,7 +16,7 @@
 package com.baomidou.mybatisplus.core.conditions.interfaces;
 
 import java.io.Serializable;
-import java.util.function.Function;
+import java.util.function.Consumer;
 
 /**
  * 查询条件封装
@@ -31,8 +31,8 @@ public interface Nested<Param, Children> extends Serializable {
     /**
      * ignore
      */
-    default Children and(Function<Param, Param> func) {
-        return and(true, func);
+    default Children and(Consumer<Param> consumer) {
+        return and(true, consumer);
     }
 
     /**
@@ -42,16 +42,16 @@ public interface Nested<Param, Children> extends Serializable {
      * </p>
      *
      * @param condition 执行条件
-     * @param func      函数
+     * @param consumer  消费函数
      * @return children
      */
-    Children and(boolean condition, Function<Param, Param> func);
+    Children and(boolean condition, Consumer<Param> consumer);
 
     /**
      * ignore
      */
-    default Children or(Function<Param, Param> func) {
-        return or(true, func);
+    default Children or(Consumer<Param> consumer) {
+        return or(true, consumer);
     }
 
     /**
@@ -61,16 +61,16 @@ public interface Nested<Param, Children> extends Serializable {
      * </p>
      *
      * @param condition 执行条件
-     * @param func      函数
+     * @param consumer  消费函数
      * @return children
      */
-    Children or(boolean condition, Function<Param, Param> func);
+    Children or(boolean condition, Consumer<Param> consumer);
 
     /**
      * ignore
      */
-    default Children nested(Function<Param, Param> func) {
-        return nested(true, func);
+    default Children nested(Consumer<Param> consumer) {
+        return nested(true, consumer);
     }
 
     /**
@@ -80,8 +80,8 @@ public interface Nested<Param, Children> extends Serializable {
      * </p>
      *
      * @param condition 执行条件
-     * @param func      函数
+     * @param consumer  消费函数
      * @return children
      */
-    Children nested(boolean condition, Function<Param, Param> func);
+    Children nested(boolean condition, Consumer<Param> consumer);
 }

+ 7 - 8
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/service/additional/AbstractChainWrapper.java

@@ -27,7 +27,7 @@ import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
 import java.util.Collection;
 import java.util.Map;
 import java.util.function.BiPredicate;
-import java.util.function.Function;
+import java.util.function.Consumer;
 
 /**
  * 所有包装类都继承此抽象类,此抽象类代理了大部分生成 where 条件的方法
@@ -248,20 +248,20 @@ public abstract class AbstractChainWrapper<T, R, Children extends AbstractChainW
     }
 
     @Override
-    public Children and(boolean condition, Function<Param, Param> func) {
-        getWrapper().and(condition, func);
+    public Children and(boolean condition, Consumer<Param> consumer) {
+        getWrapper().and(condition, consumer);
         return typedThis;
     }
 
     @Override
-    public Children or(boolean condition, Function<Param, Param> func) {
-        getWrapper().or(condition, func);
+    public Children or(boolean condition, Consumer<Param> consumer) {
+        getWrapper().or(condition, consumer);
         return typedThis;
     }
 
     @Override
-    public Children nested(boolean condition, Function<Param, Param> func) {
-        getWrapper().nested(condition, func);
+    public Children nested(boolean condition, Consumer<Param> consumer) {
+        getWrapper().nested(condition, consumer);
         return typedThis;
     }
 
@@ -269,5 +269,4 @@ public abstract class AbstractChainWrapper<T, R, Children extends AbstractChainW
     public String getSqlSegment() {
         throw ExceptionUtils.mpe("can not use this method for \"%s\"", "getSqlSegment");
     }
-
 }

+ 3 - 4
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/service/additional/query/impl/LambdaQueryChainWrapper.java

@@ -15,8 +15,6 @@
  */
 package com.baomidou.mybatisplus.extension.service.additional.query.impl;
 
-import java.util.function.Predicate;
-
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.Query;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -26,11 +24,13 @@ import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
 import com.baomidou.mybatisplus.extension.service.additional.AbstractChainWrapper;
 import com.baomidou.mybatisplus.extension.service.additional.query.ChainQuery;
 
+import java.util.function.Predicate;
+
 /**
  * @author miemie
  * @since 2018-12-19
  */
-@SuppressWarnings({ "serial", "unchecked" })
+@SuppressWarnings({"serial"})
 public class LambdaQueryChainWrapper<T> extends AbstractChainWrapper<T, SFunction<T, ?>, LambdaQueryChainWrapper<T>, LambdaQueryWrapper<T>>
     implements ChainQuery<T>, Query<LambdaQueryChainWrapper<T>, T, SFunction<T, ?>> {
 
@@ -70,5 +70,4 @@ public class LambdaQueryChainWrapper<T> extends AbstractChainWrapper<T, SFunctio
     public BaseMapper<T> getBaseMapper() {
         return baseMapper;
     }
-
 }

+ 3 - 4
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/service/additional/query/impl/QueryChainWrapper.java

@@ -15,8 +15,6 @@
  */
 package com.baomidou.mybatisplus.extension.service.additional.query.impl;
 
-import java.util.function.Predicate;
-
 import com.baomidou.mybatisplus.core.conditions.query.Query;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -25,13 +23,15 @@ import com.baomidou.mybatisplus.core.toolkit.ExceptionUtils;
 import com.baomidou.mybatisplus.extension.service.additional.AbstractChainWrapper;
 import com.baomidou.mybatisplus.extension.service.additional.query.ChainQuery;
 
+import java.util.function.Predicate;
+
 /**
  * Query Chain Wrapper
  *
  * @author miemie
  * @since 2018-12-19
  */
-@SuppressWarnings({ "serial", "unchecked" })
+@SuppressWarnings({"serial"})
 public class QueryChainWrapper<T> extends AbstractChainWrapper<T, String, QueryChainWrapper<T>, QueryWrapper<T>>
     implements ChainQuery<T>, Query<QueryChainWrapper<T>, T, String> {
 
@@ -70,5 +70,4 @@ public class QueryChainWrapper<T> extends AbstractChainWrapper<T, String, QueryC
     public BaseMapper<T> getBaseMapper() {
         return baseMapper;
     }
-
 }

+ 1 - 1
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/service/additional/update/impl/LambdaUpdateChainWrapper.java

@@ -29,7 +29,7 @@ import com.baomidou.mybatisplus.extension.service.additional.update.ChainUpdate;
  * @author miemie
  * @since 2018-12-19
  */
-@SuppressWarnings({ "serial", "unchecked" })
+@SuppressWarnings({"serial"})
 public class LambdaUpdateChainWrapper<T> extends AbstractChainWrapper<T, SFunction<T, ?>, LambdaUpdateChainWrapper<T>, LambdaUpdateWrapper<T>>
     implements ChainUpdate<T>, Update<LambdaUpdateChainWrapper<T>, SFunction<T, ?>> {
 

+ 1 - 2
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/service/additional/update/impl/UpdateChainWrapper.java

@@ -28,7 +28,7 @@ import com.baomidou.mybatisplus.extension.service.additional.update.ChainUpdate;
  * @author miemie
  * @since 2018-12-19
  */
-@SuppressWarnings({ "serial", "unchecked" })
+@SuppressWarnings({"serial"})
 public class UpdateChainWrapper<T> extends AbstractChainWrapper<T, String, UpdateChainWrapper<T>, UpdateWrapper<T>>
     implements ChainUpdate<T>, Update<UpdateChainWrapper<T>, String> {
 
@@ -61,5 +61,4 @@ public class UpdateChainWrapper<T> extends AbstractChainWrapper<T, String, Updat
     public BaseMapper<T> getBaseMapper() {
         return baseMapper;
     }
-
 }