Преглед изворни кода

优化注入合并deleteByMap逻辑

hubin пре 1 година
родитељ
комит
c4b05baa12

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

@@ -32,6 +32,7 @@ public enum SqlMethod {
      * 删除
      */
     DELETE_BY_ID("deleteById", "根据ID 删除一条数据", "DELETE FROM %s WHERE %s=#{%s}"),
+    @Deprecated
     DELETE_BY_MAP("deleteByMap", "根据columnMap 条件删除记录", "<script>\nDELETE FROM %s %s\n</script>"),
     DELETE("delete", "根据 entity 条件删除记录", "<script>\nDELETE FROM %s %s %s\n</script>"),
     DELETE_BATCH_BY_IDS("deleteBatchIds", "根据ID集合,批量删除数据", "<script>\nDELETE FROM %s WHERE %s IN (%s)\n</script>"),

+ 1 - 0
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/injector/AbstractMethod.java

@@ -199,6 +199,7 @@ public abstract class AbstractMethod implements Constants {
     /**
      * SQL map 查询条件
      */
+    @Deprecated
     protected String sqlWhereByMap(TableInfo table) {
         if (table.isWithLogicDelete()) {
             // 逻辑删除

+ 0 - 1
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/injector/DefaultSqlInjector.java

@@ -37,7 +37,6 @@ public class DefaultSqlInjector extends AbstractSqlInjector {
         Stream.Builder<AbstractMethod> builder = Stream.<AbstractMethod>builder()
             .add(new Insert())
             .add(new Delete())
-            .add(new DeleteByMap())
             .add(new Update())
             .add(new SelectCount())
             .add(new SelectMaps())

+ 1 - 0
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/injector/methods/DeleteByMap.java

@@ -29,6 +29,7 @@ import java.util.Map;
  * @author hubin
  * @since 2018-04-06
  */
+@Deprecated
 @SuppressWarnings("serial")
 public class DeleteByMap extends AbstractMethod {
 

+ 5 - 2
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/mapper/BaseMapper.java

@@ -112,7 +112,10 @@ public interface BaseMapper<T> extends Mapper<T> {
      *
      * @param columnMap 表字段 map 对象
      */
-    int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
+    default int deleteByMap(Map<String, Object> columnMap) {
+        QueryWrapper<T> qw = Wrappers.query();
+        return this.delete(qw.allEq(columnMap));
+    }
 
     /**
      * 根据 entity 条件,删除记录
@@ -162,7 +165,7 @@ public interface BaseMapper<T> extends Mapper<T> {
      *
      * @param columnMap 表字段 map 对象
      */
-    default List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap) {
+    default List<T> selectByMap(Map<String, Object> columnMap) {
         QueryWrapper<T> qw = Wrappers.query();
         return this.selectList(qw.allEq(columnMap));
     }

+ 1 - 0
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/Constants.java

@@ -119,6 +119,7 @@ public interface Constants extends StringPool, Serializable {
     /**
      * columnMap
      */
+    @Deprecated
     String COLUMN_MAP = "cm";
     /**
      * columnMap.isEmpty