mybatisplus扩展BaseMapper的方法(InsertBatchSomeColumn及AlwaysUpdateSomeColumnById)

//* <li> 例1: t -> !t.isLogicDelete() , 表示不要逻辑删除字段 </li>
//* <li> 例2: t -> !t.getProperty().equals("version") , 表示不要字段名为 version 的字段 </li>
//* <li> 例3: t -> t.getFieldFill() != FieldFill.UPDATE) , 表示不要填充策略为 UPDATE 的字段 </li>
public class NormalSqlInjector extends DefaultSqlInjector {

@Override
public List<AbstractMethod> getMethodList(Class<?> mapperClass) {
List<AbstractMethod> methodList = super.getMethodList(mapperClass);
methodList.add(new InsertBatchSomeColumn(i -> i.getFieldFill() != FieldFill.UPDATE));
methodList.add(new AlwaysUpdateSomeColumnById((i -> i.getFieldFill() != FieldFill.INSERT)));
return methodList;
}
}

-------------------------------------------------------

public interface MyBaseMapper<T> extends BaseMapper<T> {

int insertBatchSomeColumn(List<T> entityList);

int alwaysUpdateSomeColumnById(@Param(Constants.ENTITY) T entity);
}

----------------------------------

@Bean
public ISqlInjector sqlInjector() {
return new NormalSqlInjector();
}

--------------------------------








posted @ 2020-11-25 16:51  升级打怪猴  阅读(6347)  评论(0编辑  收藏  举报