public interface CommonMapper<T> extends BaseMapper<T> {
/**
* 全量更新,不忽略null字段,等价于update
* 解决mybatis-plus会自动忽略null字段不更新
* {@link com.baomidou.mybatisplus.extension.injector.methods.AlwaysUpdateSomeColumnById}
*
* @param entity
* @return
*/
int alwaysUpdateSomeColumnById(@Param(Constants.ENTITY) T entity);
}
@Bean
public CustomSqlInjector customSqlInjector() {
return new CustomSqlInjector();
}
/**
* 自定义Sql注入器
*/
static class CustomSqlInjector extends MppSqlInjector {
@Override
public List<AbstractMethod> getMethodList(Class<?> mapperClass) {
List<AbstractMethod> methodList = super.getMethodList(mapperClass);
//增加全量更新
methodList.add(new AlwaysUpdateSomeColumnById());
return methodList;
}
}