From e1f5d54c73d868b28d32a4ba1030985570ec630b Mon Sep 17 00:00:00 2001 From: liaozan <378024053@qq.com> Date: Wed, 31 May 2023 13:58:10 +0800 Subject: [PATCH] Fix AlwaysUpdateSomeColumnById --- .../injector/DefaultMethodSqlInjector.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) 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 76cc603..0aa361c 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 { /** - * + * 更新时忽略的字段 */ + 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 +} -- GitLab