diff --git a/starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/sql/injector/DefaultMethodSqlInjector.java b/starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/sql/injector/DefaultMethodSqlInjector.java
index 76cc60318267d43f8ab0b677753dca45bb850d5d..0aa361c4cc932c46d087f4c75d48655afc209751 100644
--- a/starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/sql/injector/DefaultMethodSqlInjector.java
+++ b/starters/mybatis-spring-boot-starter/src/main/java/com/schbrain/framework/autoconfigure/mybatis/sql/injector/DefaultMethodSqlInjector.java
@@ -6,13 +6,16 @@ import com.baomidou.mybatisplus.core.injector.methods.*;
import com.baomidou.mybatisplus.core.metadata.TableInfo;
import com.baomidou.mybatisplus.extension.injector.methods.AlwaysUpdateSomeColumnById;
import com.google.common.collect.Lists;
-import com.schbrain.framework.autoconfigure.mybatis.constant.MybatisConstants;
import com.schbrain.framework.autoconfigure.mybatis.sql.method.Delete;
import com.schbrain.framework.autoconfigure.mybatis.sql.method.DeleteBatchByIds;
+import com.schbrain.framework.autoconfigure.mybatis.sql.method.DeleteById;
import com.schbrain.framework.autoconfigure.mybatis.sql.method.DeleteByMap;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
+import java.util.Set;
+
+import static com.schbrain.framework.autoconfigure.mybatis.constant.MybatisConstants.*;
/**
* @author liaozan
@@ -22,13 +25,10 @@ import java.util.List;
public class DefaultMethodSqlInjector extends AbstractSqlInjector {
/**
- *
- * - replace {@link com.baomidou.mybatisplus.core.injector.methods.Delete} to {@link Delete}
- * - replace {@link com.baomidou.mybatisplus.core.injector.methods.DeleteById} to {@link com.schbrain.framework.autoconfigure.mybatis.sql.method.DeleteById}
- * - replace {@link com.baomidou.mybatisplus.core.injector.methods.DeleteByMap} to {@link DeleteByMap}
- * - replace {@link com.baomidou.mybatisplus.core.injector.methods.DeleteBatchByIds} to {@link DeleteBatchByIds}
- *
+ * 更新时忽略的字段
*/
+ private static final Set FIELDS_TO_IGNORE_WHEN_UPDATE = Set.of(CREATE_TIME, MODIFY_TIME, DELETE_VERSION);
+
@Override
public List getMethodList(Class> mapperClass, TableInfo tableInfo) {
List methodList = Lists.newArrayListWithExpectedSize(20);
@@ -44,16 +44,16 @@ public class DefaultMethodSqlInjector extends AbstractSqlInjector {
methodList.add(new SelectList());
methodList.add(new SelectPage());
if (tableInfo.havePK()) {
- methodList.add(new com.schbrain.framework.autoconfigure.mybatis.sql.method.DeleteById());
+ methodList.add(new DeleteById());
methodList.add(new DeleteBatchByIds());
methodList.add(new UpdateById());
- methodList.add(new AlwaysUpdateSomeColumnById(field -> !field.getColumn().equals(MybatisConstants.DELETE_VERSION)));
+ methodList.add(new AlwaysUpdateSomeColumnById(field -> !FIELDS_TO_IGNORE_WHEN_UPDATE.contains(field.getColumn())));
methodList.add(new SelectById());
methodList.add(new SelectBatchByIds());
} else {
- log.warn("{} ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.", tableInfo.getEntityType());
+ log.warn("{} Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method.", tableInfo.getEntityType());
}
return methodList;
}
-}
\ No newline at end of file
+}