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();
}

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









免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM