Parcourir la source

优化,额外的method挪个包

miemie il y a 6 ans
Parent
commit
6f6b065a7c

+ 5 - 24
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/injector/DefaultSqlInjector.java

@@ -15,27 +15,10 @@
  */
 package com.baomidou.mybatisplus.core.injector;
 
-import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
+import com.baomidou.mybatisplus.core.injector.methods.*;
 
-import com.baomidou.mybatisplus.core.injector.methods.Delete;
-import com.baomidou.mybatisplus.core.injector.methods.DeleteBatchByIds;
-import com.baomidou.mybatisplus.core.injector.methods.DeleteById;
-import com.baomidou.mybatisplus.core.injector.methods.DeleteByMap;
-import com.baomidou.mybatisplus.core.injector.methods.Insert;
-import com.baomidou.mybatisplus.core.injector.methods.SelectBatchByIds;
-import com.baomidou.mybatisplus.core.injector.methods.SelectById;
-import com.baomidou.mybatisplus.core.injector.methods.SelectByMap;
-import com.baomidou.mybatisplus.core.injector.methods.SelectCount;
-import com.baomidou.mybatisplus.core.injector.methods.SelectList;
-import com.baomidou.mybatisplus.core.injector.methods.SelectMaps;
-import com.baomidou.mybatisplus.core.injector.methods.SelectMapsPage;
-import com.baomidou.mybatisplus.core.injector.methods.SelectObjs;
-import com.baomidou.mybatisplus.core.injector.methods.SelectOne;
-import com.baomidou.mybatisplus.core.injector.methods.SelectPage;
-import com.baomidou.mybatisplus.core.injector.methods.Update;
-import com.baomidou.mybatisplus.core.injector.methods.UpdateById;
+import java.util.Arrays;
+import java.util.List;
 
 
 /**
@@ -48,10 +31,9 @@ import com.baomidou.mybatisplus.core.injector.methods.UpdateById;
  */
 public class DefaultSqlInjector extends AbstractSqlInjector {
 
-
     @Override
     public List<AbstractMethod> getMethodList() {
-        return Stream.of(
+        return Arrays.asList(
             new Insert(),
             new Delete(),
             new DeleteByMap(),
@@ -69,7 +51,6 @@ public class DefaultSqlInjector extends AbstractSqlInjector {
             new SelectObjs(),
             new SelectList(),
             new SelectPage()
-        ).collect(Collectors.toList());
+        );
     }
-
 }

+ 6 - 24
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/injector/LogicSqlInjector.java

@@ -15,29 +15,13 @@
  */
 package com.baomidou.mybatisplus.extension.injector;
 
-import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
 import com.baomidou.mybatisplus.core.injector.AbstractMethod;
 import com.baomidou.mybatisplus.core.injector.AbstractSqlInjector;
 import com.baomidou.mybatisplus.core.injector.methods.Insert;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicDelete;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicDeleteBatchByIds;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicDeleteById;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicDeleteByMap;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicSelectBatchByIds;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicSelectById;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicSelectByMap;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicSelectCount;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicSelectList;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicSelectMaps;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicSelectMapsPage;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicSelectObjs;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicSelectOne;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicSelectPage;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicUpdate;
-import com.baomidou.mybatisplus.extension.injector.methods.LogicUpdateById;
+import com.baomidou.mybatisplus.extension.injector.methods.*;
+
+import java.util.Arrays;
+import java.util.List;
 
 
 /**
@@ -50,10 +34,9 @@ import com.baomidou.mybatisplus.extension.injector.methods.LogicUpdateById;
  */
 public class LogicSqlInjector extends AbstractSqlInjector {
 
-
     @Override
     public List<AbstractMethod> getMethodList() {
-        return Stream.of(
+        return Arrays.asList(
             new Insert(),
             new LogicDelete(),
             new LogicDeleteByMap(),
@@ -71,7 +54,6 @@ public class LogicSqlInjector extends AbstractSqlInjector {
             new LogicSelectObjs(),
             new LogicSelectList(),
             new LogicSelectPage()
-        ).collect(Collectors.toList());
+        );
     }
-
 }

+ 4 - 52
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/injector/methods/LogicDeleteByIdWithFill.java

@@ -1,62 +1,14 @@
 package com.baomidou.mybatisplus.extension.injector.methods;
 
-import com.baomidou.mybatisplus.annotation.FieldFill;
-import com.baomidou.mybatisplus.core.enums.SqlMethod;
-import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
-import com.baomidou.mybatisplus.core.metadata.TableInfo;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
-import com.baomidou.mybatisplus.extension.injector.AbstractLogicMethod;
-import org.apache.ibatis.mapping.MappedStatement;
-import org.apache.ibatis.mapping.SqlSource;
-
-import java.util.List;
-
-import static java.util.stream.Collectors.joining;
-import static java.util.stream.Collectors.toList;
-
 /**
  * <p>
- * 根据 id 逻辑删除数据,并带字段填充功能
- * 注意入参是 entity !!! ,如果字段没有自动填充,就只是单纯的逻辑删除
+ * use {@link com.baomidou.mybatisplus.extension.injector.methods.additional.LogicDeleteByIdWithFill}
  * </p>
  *
  * @author miemie
  * @since 2018-09-13
+ * @deprecated 2018-11-09
  */
-public class LogicDeleteByIdWithFill extends AbstractLogicMethod {
-
-    /**
-     * mapper 对应的方法名
-     */
-    private static final String MAPPER_METHOD = "deleteByIdWithFill";
-
-    @Override
-    public MappedStatement injectMappedStatement(Class<?> mapperClass, Class<?> modelClass, TableInfo tableInfo) {
-        String sql;
-        SqlMethod sqlMethod = SqlMethod.LOGIC_DELETE_BY_ID;
-        if (tableInfo.isLogicDelete()) {
-            List<TableFieldInfo> fieldInfos = tableInfo.getFieldList().stream()
-                .filter(i -> i.getFieldFill() == FieldFill.UPDATE || i.getFieldFill() == FieldFill.INSERT_UPDATE)
-                .collect(toList());
-            if (CollectionUtils.isNotEmpty(fieldInfos)) {
-                String sqlSet = "SET " + fieldInfos.stream().map(i -> i.getSqlSet(StringPool.EMPTY))
-                    .collect(joining(StringPool.EMPTY)) +
-                    tableInfo.getLogicDeleteSql(false, true);
-                sql = String.format(sqlMethod.getSql(), tableInfo.getTableName(), sqlSet,
-                    tableInfo.getKeyColumn(), tableInfo.getKeyProperty(),
-                    tableInfo.getLogicDeleteSql(true, false));
-            } else {
-                sql = String.format(sqlMethod.getSql(), tableInfo.getTableName(), sqlLogicSet(tableInfo),
-                    tableInfo.getKeyColumn(), tableInfo.getKeyProperty(),
-                    tableInfo.getLogicDeleteSql(true, false));
-            }
-        } else {
-            sqlMethod = SqlMethod.DELETE_BY_ID;
-            sql = String.format(sqlMethod.getSql(), tableInfo.getTableName(), tableInfo.getKeyColumn(),
-                tableInfo.getKeyProperty());
-        }
-        SqlSource sqlSource = languageDriver.createSqlSource(configuration, sql, modelClass);
-        return addUpdateMappedStatement(mapperClass, modelClass, MAPPER_METHOD, sqlSource);
-    }
+@Deprecated
+public class LogicDeleteByIdWithFill extends com.baomidou.mybatisplus.extension.injector.methods.additional.LogicDeleteByIdWithFill {
 }

+ 66 - 0
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/injector/methods/additional/LogicDeleteByIdWithFill.java

@@ -0,0 +1,66 @@
+package com.baomidou.mybatisplus.extension.injector.methods.additional;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.core.enums.SqlMethod;
+import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
+import com.baomidou.mybatisplus.core.metadata.TableInfo;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import com.baomidou.mybatisplus.extension.injector.AbstractLogicMethod;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.SqlSource;
+
+import java.util.List;
+
+import static java.util.stream.Collectors.joining;
+import static java.util.stream.Collectors.toList;
+
+/**
+ * <p>
+ * 根据 id 逻辑删除数据,并带字段填充功能
+ * 注意入参是 entity !!! ,如果字段没有自动填充,就只是单纯的逻辑删除
+ * </p>
+ * <p>
+ * 自己的通用 mapper 如下使用:
+ * int deleteByIdWithFill(T entity);
+ * </p>
+ *
+ * @author miemie
+ * @since 2018-11-09
+ */
+public class LogicDeleteByIdWithFill extends AbstractLogicMethod {
+
+    /**
+     * mapper 对应的方法名
+     */
+    private static final String MAPPER_METHOD = "deleteByIdWithFill";
+
+    @Override
+    public MappedStatement injectMappedStatement(Class<?> mapperClass, Class<?> modelClass, TableInfo tableInfo) {
+        String sql;
+        SqlMethod sqlMethod = SqlMethod.LOGIC_DELETE_BY_ID;
+        if (tableInfo.isLogicDelete()) {
+            List<TableFieldInfo> fieldInfos = tableInfo.getFieldList().stream()
+                .filter(i -> i.getFieldFill() == FieldFill.UPDATE || i.getFieldFill() == FieldFill.INSERT_UPDATE)
+                .collect(toList());
+            if (CollectionUtils.isNotEmpty(fieldInfos)) {
+                String sqlSet = "SET " + fieldInfos.stream().map(i -> i.getSqlSet(StringPool.EMPTY))
+                    .collect(joining(StringPool.EMPTY)) +
+                    tableInfo.getLogicDeleteSql(false, true);
+                sql = String.format(sqlMethod.getSql(), tableInfo.getTableName(), sqlSet,
+                    tableInfo.getKeyColumn(), tableInfo.getKeyProperty(),
+                    tableInfo.getLogicDeleteSql(true, false));
+            } else {
+                sql = String.format(sqlMethod.getSql(), tableInfo.getTableName(), sqlLogicSet(tableInfo),
+                    tableInfo.getKeyColumn(), tableInfo.getKeyProperty(),
+                    tableInfo.getLogicDeleteSql(true, false));
+            }
+        } else {
+            sqlMethod = SqlMethod.DELETE_BY_ID;
+            sql = String.format(sqlMethod.getSql(), tableInfo.getTableName(), tableInfo.getKeyColumn(),
+                tableInfo.getKeyProperty());
+        }
+        SqlSource sqlSource = languageDriver.createSqlSource(configuration, sql, modelClass);
+        return addUpdateMappedStatement(mapperClass, modelClass, MAPPER_METHOD, sqlSource);
+    }
+}