feat(uboot-core): mybatis-plus
新增Mysql Sql注入器以解决mybatis-plus中saveBatch方法无法批量插入Bug
This commit is contained in:
@ -1,8 +1,13 @@
|
||||
package com.chinaunicom.mall.ebtp.core.config;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.DbType;
|
||||
import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
|
||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
|
||||
import com.chinaunicom.mall.ebtp.core.injector.MySqlInjector;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@ -14,6 +19,10 @@ import org.springframework.context.annotation.Configuration;
|
||||
//@MapperScan(basePackages = "com.chinaunicom.mall.ebtp.**.dao")
|
||||
public class MybatisPlusConfig {
|
||||
|
||||
@Bean
|
||||
public MySqlInjector sqlInjector() {
|
||||
return new MySqlInjector();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
@ -0,0 +1,23 @@
|
||||
package com.chinaunicom.mall.ebtp.core.injector;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author K
|
||||
* @since 2019/7/9
|
||||
*/
|
||||
public interface MyBaseMapper<T> extends BaseMapper<T> {
|
||||
|
||||
/**
|
||||
* 批量插入
|
||||
*
|
||||
* @param entityList 数据集合
|
||||
* @return int
|
||||
* @author dino
|
||||
* @date 2021/6/18 15:40
|
||||
*/
|
||||
int insertBatchSomeColumn(List<T> entityList);
|
||||
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package com.chinaunicom.mall.ebtp.core.injector;
|
||||
|
||||
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;
|
||||
|
||||
/**
|
||||
* 自定义Sql注入
|
||||
*
|
||||
* @author nieqiurong 2018/8/11 20:23.
|
||||
*/
|
||||
public class MySqlInjector 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;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user