diff --git a/kernel-d-db/db-sdk-mp/src/main/java/cn/stylefeng/roses/kernel/db/mp/injector/CustomBaseMapper.java b/kernel-d-db/db-sdk-mp/src/main/java/cn/stylefeng/roses/kernel/db/mp/injector/CustomBaseMapper.java
new file mode 100644
index 000000000..23f69ebbf
--- /dev/null
+++ b/kernel-d-db/db-sdk-mp/src/main/java/cn/stylefeng/roses/kernel/db/mp/injector/CustomBaseMapper.java
@@ -0,0 +1,25 @@
+package cn.stylefeng.roses.kernel.db.mp.injector;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+import java.util.List;
+
+/**
+ * 加了拓展方法的BaseMapper
+ *
+ * 目前添加自定义InsertBatch方法
+ *
+ * @author fengshuonan
+ * @date 2022/9/17 14:24
+ */
+public interface CustomBaseMapper extends BaseMapper {
+
+ /**
+ * 批量插入,拼接insert方式,提高效率
+ *
+ * @author fengshuonan
+ * @date 2022/9/17 14:27
+ */
+ int insertBatchSomeColumn(List entityList);
+
+}
\ No newline at end of file
diff --git a/kernel-d-db/db-sdk-mp/src/main/java/cn/stylefeng/roses/kernel/db/mp/injector/CustomInsertBatchSqlInjector.java b/kernel-d-db/db-sdk-mp/src/main/java/cn/stylefeng/roses/kernel/db/mp/injector/CustomInsertBatchSqlInjector.java
new file mode 100644
index 000000000..f082aa092
--- /dev/null
+++ b/kernel-d-db/db-sdk-mp/src/main/java/cn/stylefeng/roses/kernel/db/mp/injector/CustomInsertBatchSqlInjector.java
@@ -0,0 +1,27 @@
+package cn.stylefeng.roses.kernel.db.mp.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.core.metadata.TableInfo;
+import com.baomidou.mybatisplus.extension.injector.methods.InsertBatchSomeColumn;
+
+import java.util.List;
+
+/**
+ * 自定义,针对saveBatch的优化,改为一次拼接多个values插入到库
+ *
+ * @author fengshuonan
+ * @date 2022/9/17 14:23
+ */
+public class CustomInsertBatchSqlInjector extends DefaultSqlInjector {
+
+ @Override
+ public List getMethodList(Class> mapperClass, TableInfo tableInfo) {
+ List methodList = super.getMethodList(mapperClass, tableInfo);
+ // 例: 不要指定了 update 填充的字段
+ methodList.add(new InsertBatchSomeColumn(i -> i.getFieldFill() != FieldFill.UPDATE));
+ return methodList;
+ }
+
+}
\ No newline at end of file
diff --git a/kernel-d-db/db-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/db/starter/GunsMyBatisPlusAutoConfiguration.java b/kernel-d-db/db-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/db/starter/GunsMyBatisPlusAutoConfiguration.java
index 387912e1e..953ed2ff8 100644
--- a/kernel-d-db/db-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/db/starter/GunsMyBatisPlusAutoConfiguration.java
+++ b/kernel-d-db/db-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/db/starter/GunsMyBatisPlusAutoConfiguration.java
@@ -26,6 +26,7 @@ package cn.stylefeng.roses.kernel.db.starter;
import cn.stylefeng.roses.kernel.db.mp.dbid.CustomDatabaseIdProvider;
import cn.stylefeng.roses.kernel.db.mp.fieldfill.CustomMetaObjectHandler;
+import cn.stylefeng.roses.kernel.db.mp.injector.CustomInsertBatchSqlInjector;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
@@ -108,4 +109,15 @@ public class GunsMyBatisPlusAutoConfiguration {
return new CustomDatabaseIdProvider();
}
+ /**
+ * 自定义sqlInjector
+ *
+ * @author fengshuonan
+ * @date 2022/9/17 14:28
+ */
+ @Bean
+ public CustomInsertBatchSqlInjector customInsertBatchSqlInjector() {
+ return new CustomInsertBatchSqlInjector();
+ }
+
}