Browse Source

[优化] 移除 Condition 类,移除 wrapper的in方法内部的对coll的非空判断

miemie 6 năm trước cách đây
mục cha
commit
db9da4576d

+ 0 - 6
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/conditions/AbstractWrapper.java

@@ -243,17 +243,11 @@ public abstract class AbstractWrapper<T, R, Children extends AbstractWrapper<T,
 
     @Override
     public Children in(boolean condition, R column, Collection<?> coll) {
-        if (CollectionUtils.isEmpty(coll)) {
-            return typedThis;
-        }
         return doIt(condition, () -> columnToString(column), IN, inExpression(coll));
     }
 
     @Override
     public Children notIn(boolean condition, R column, Collection<?> coll) {
-        if (CollectionUtils.isEmpty(coll)) {
-            return typedThis;
-        }
         return not(condition).in(condition, column, coll);
     }
 

+ 0 - 75
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/conditions/Condition.java

@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2011-2020, hubin (jobob@qq.com).
- * <p>
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- * <p>
- * https://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.baomidou.mybatisplus.core.conditions;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-
-/**
- * Wrapper 条件辅助类
- *
- * @author hubin
- * @see Wrappers
- * @since 2018-09-01
- */
-@Deprecated
-public class Condition {
-
-    /**
-     * 获取 QueryWrapper 实例
-     * <p>示例:Condition.<User>create().eq("id", 1)</p>
-     *
-     * @see Wrappers#query()
-     */
-    @Deprecated
-    public static <T> QueryWrapper<T> create() {
-        return new QueryWrapper<>();
-    }
-
-    /**
-     * @param entity ignore
-     * @param <T> ignore
-     * @return ignore
-     * @see Wrappers#query()
-     */
-    @Deprecated
-    public static <T> QueryWrapper<T> create(T entity) {
-        return new QueryWrapper<>(entity);
-    }
-
-    /**
-     * 获取 LambdaQueryWrapper 实例
-     * <p>示例:Condition.<User>lambda().eq(User::getId, 1)</p>
-     *
-     * @see Wrappers#query(Object)
-     */
-    @Deprecated
-    public static <T> LambdaQueryWrapper<T> lambda() {
-        return new LambdaQueryWrapper<>();
-    }
-
-    /**
-     * @param entity ignore
-     * @param <T> ignore
-     * @return ignore
-     * @see Wrappers#query(Object)
-     */
-    @Deprecated
-    public static <T> LambdaQueryWrapper<T> lambda(T entity) {
-        return new LambdaQueryWrapper<>(entity);
-    }
-}

+ 7 - 4
mybatis-plus-core/src/test/java/com/baomidou/mybatisplus/core/test/WrapperTest.java

@@ -24,10 +24,7 @@ import com.baomidou.mybatisplus.core.toolkit.TableInfoHelper;
 import org.junit.jupiter.api.Test;
 
 import java.time.LocalDate;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 class WrapperTest {
 
@@ -192,6 +189,12 @@ class WrapperTest {
         logParams(queryWrapper);
     }
 
+    @Test
+    void testInEmptyColl() {
+        QueryWrapper<User> queryWrapper = new QueryWrapper<User>().in("xxx", Collections.emptyList());
+        logSqlSegment("测试 empty 的 coll", queryWrapper);
+    }
+
     private List<Object> getList() {
         List<Object> list = new ArrayList<>();
         for (int i = 0; i < 2; i++) {