ソースを参照

Condition改造去除继承Wrapper,后期添加UpdateWrapper

Caratacus 7 年 前
コミット
55a4a9898c

+ 14 - 38
mybatis-plus-support/src/main/java/com/baomidou/mybatisplus/mapper/Condition.java → mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/conditions/Condition.java

@@ -13,12 +13,7 @@
  * License for the specific language governing permissions and limitations under
  * the License.
  */
-package com.baomidou.mybatisplus.mapper;
-
-import com.baomidou.mybatisplus.core.conditions.EntityWrapper;
-import com.baomidou.mybatisplus.core.conditions.Wrapper;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.core.toolkit.sql.SqlHelper;
+package com.baomidou.mybatisplus.core.conditions;
 
 /**
  * <p>
@@ -29,7 +24,7 @@ import com.baomidou.mybatisplus.core.toolkit.sql.SqlHelper;
  * @date 2016-11-7
  */
 @SuppressWarnings({"rawtypes", "serial"})
-public class Condition extends Wrapper {
+public abstract class Condition {
 
     /**
      * 构建一个Empty条件构造 避免传递参数使用null
@@ -37,52 +32,33 @@ public class Condition extends Wrapper {
     public static final Wrapper EMPTY = Wrapper.getInstance();
 
     /**
-     * 获取实例
-     */
-    public static Condition create() {
-        return new Condition();
-    }
-
-    /**
-     * SQL 片段
+     * 构造一个空的Wrapper<T></>
+     *
+     * @param <T>
+     * @return
      */
-    @Override
-    public String getSqlSegment() {
-        if (SqlHelper.isEmptyOfWrapper(this)) {
-            return null;
-        }
-        /*
-         * 无条件
-		 */
-        String sqlWhere = sql.toString();
-        if (StringUtils.isEmpty(sqlWhere)) {
-            return null;
-        }
-         /*
-         * 根据当前实体判断是否需要将WHERE替换成 AND 增加实体不为空但所有属性为空的情况
-		 */
-        return isWhere != null ? (isWhere ? sqlWhere : sqlWhere.replaceFirst("WHERE", AND_OR)) : sqlWhere.replaceFirst("WHERE", AND_OR);
-
+    public static <T> Wrapper<T> empty() {
+        return (Wrapper<T>) EMPTY;
     }
 
     /**
-     * 构造一个空的Wrapper<T></>
+     * 构造一个EntityWrapper<T></>
      *
      * @param <T>
      * @return
      */
-    public static <T> Wrapper<T> empty() {
-        return (Wrapper<T>) EMPTY;
+    public static <T> EntityWrapper<T> entityWrapper() {
+        return entityWrapper(null);
     }
 
     /**
-     * 构造一个Wrapper<T></>
+     * 构造一个EntityWrapper<T></>
      *
      * @param <T>
      * @return
      */
-    public static <T> Wrapper<T> wrapper() {
-        return (Wrapper<T>) new EntityWrapper<>();
+    public static <T> EntityWrapper<T> entityWrapper(T entity) {
+        return new EntityWrapper<>(entity);
     }
 
 }

+ 2 - 2
mybatis-plus-core/src/test/java/com/baomidou/mybatisplus/test/mysql/LogicDeleteTest.java

@@ -22,8 +22,8 @@ import java.util.Map;
 import org.apache.ibatis.session.SqlSession;
 import org.junit.Test;
 
+import com.baomidou.mybatisplus.core.conditions.Condition;
 import com.baomidou.mybatisplus.entity.GlobalConfiguration;
-import com.baomidou.mybatisplus.mapper.Condition;
 import com.baomidou.mybatisplus.test.CrudTest;
 import com.baomidou.mybatisplus.test.mysql.entity.User;
 import com.baomidou.mybatisplus.test.mysql.mapper.UserMapper;
@@ -64,7 +64,7 @@ public class LogicDeleteTest extends CrudTest {
         System.err.println("第一次:逻辑删除testType 改为 1 成功记录数:" + rlt);
         rlt = userMapper.insert(new User(IdWorker.getId(), "logic-delete-2", 28, 2));
         System.err.println("再插入一条成功记录数:" + rlt);
-        rlt = userMapper.delete(Condition.create().eq("test_id", 1111));
+        rlt = userMapper.delete(Condition.<User>entityWrapper().eq("test_id", 1111));
         System.err.println("全表逻辑删除成功记录数:" + rlt);
         List<User> userList = userMapper.selectList(null);
         for (User u : userList) {

+ 0 - 8
mybatis-plus-support/build.gradle

@@ -1,8 +0,0 @@
-dependencies {
-    //TODO 3.0 to be removed
-    compile project(":mybatis-plus-core")
-	optional rootProject.ext.dependencies["mybatis-spring"]
-	optional rootProject.ext.dependencies["mybatis"]
-	optional rootProject.ext.dependencies["spring-context-support"]
-	optional rootProject.ext.dependencies["spring-jdbc"]
-}

+ 0 - 4
mybatis-plus-support/src/main/java/com/baomidou/mybatisplus/entity/package-info.java

@@ -1,4 +0,0 @@
-/**
- * 实体类
- */
-package com.baomidou.mybatisplus.entity;

+ 0 - 4
mybatis-plus-support/src/main/java/com/baomidou/mybatisplus/mapper/package-info.java

@@ -1,4 +0,0 @@
-/**
- * 自动处理 CURD 基本 SQL 相关类
- */
-package com.baomidou.mybatisplus.mapper;

+ 0 - 4
mybatis-plus-support/src/main/java/com/baomidou/mybatisplus/plugins/package-info.java

@@ -1,4 +0,0 @@
-/**
- * mybatis 插件相关类
- */
-package com.baomidou.mybatisplus.plugins;

+ 0 - 4
mybatis-plus-support/src/main/java/com/baomidou/mybatisplus/toolkit/package-info.java

@@ -1,4 +0,0 @@
-/**
- * 工具包类
- */
-package com.baomidou.mybatisplus.toolkit;