代码调整

This commit is contained in:
2023-05-31 18:56:37 +08:00
parent d2a1694242
commit ee31e8438b
9 changed files with 181 additions and 43 deletions

View File

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.njcn.db.handler.AutoFillValueHandler;
import com.njcn.db.handler.BatchInjector;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -34,4 +35,17 @@ public class MybatisConfig {
return new AutoFillValueHandler();
}
/***
* 自定义注册器,处理批量插入
* @author hongawen
* @date 2023/5/30 14:53
* @return BatchInjector
*/
@Bean
public BatchInjector sqlInjector() {
return new BatchInjector();
}
}

View File

@@ -0,0 +1,25 @@
package com.njcn.db.handler;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.core.injector.AbstractMethod;
import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2023年05月30日 14:51
*/
public class BatchInjector extends DefaultSqlInjector {
@Override
public List<AbstractMethod> getMethodList(Class<?> mapperClass) {
List<AbstractMethod> methodList = super.getMethodList(mapperClass);
//更新时自动填充的字段,不用插入值
methodList.add(new InsertBatchSomeColumn(i -> i.getFieldFill() != FieldFill.UPDATE));
return methodList;
}
}

View File

@@ -0,0 +1,19 @@
package com.njcn.db.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
* @author hongawen
* @version 1.0.0
* @date 2023年05月30日 14:54
*/
public interface BatchMapper<T> extends BaseMapper<T> {
/**
* 真正的批量插入
*/
int insertBatchSomeColumn(List<T> entityList);
}