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();
}
--------------------------------
本文来自博客园,作者:升级打怪猴,转载请注明原文链接:https://www.cnblogs.com/soul113/p/14037070.html