diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/BaseMapperPlus.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/BaseMapperPlus.java index cf51c90e..ee779a5b 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/BaseMapperPlus.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/BaseMapperPlus.java @@ -13,6 +13,10 @@ import java.util.Collection; */ public interface BaseMapperPlus extends BaseMapper { + /** + * 单sql批量插入( 全量填充 无视数据库默认值 ) + * 适用于无脑插入 + */ int insertAll(@Param("list") Collection batchList); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java index 77b9c286..fb0998b7 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java @@ -51,11 +51,8 @@ public class ServicePlusImpl, T> extends ServiceImpl } /** - * 单条执行性能差 - * - * {@link #saveAll(Collection)} + * 单条执行性能差 适用于列表对象内容不确定 */ - @Deprecated @Override public boolean saveBatch(Collection entityList, int batchSize) { return super.saveBatch(entityList, batchSize); @@ -67,11 +64,8 @@ public class ServicePlusImpl, T> extends ServiceImpl } /** - * 单条执行性能差 - * - * {@link #saveAll(Collection)} + * 单条执行性能差 适用于列表对象内容不确定 */ - @Deprecated @Override public boolean saveOrUpdateBatch(Collection entityList, int batchSize) { return super.saveOrUpdateBatch(entityList, batchSize); @@ -82,6 +76,10 @@ public class ServicePlusImpl, T> extends ServiceImpl return super.updateBatchById(entityList, batchSize); } + /** + * 单sql批量插入( 全量填充 无视数据库默认值 ) + * 适用于无脑插入 + */ @Override public boolean saveAll(Collection entityList) { return baseMapper.insertAll(entityList) == entityList.size(); diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/methods/InsertAll.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/methods/InsertAll.java index ec57621b..66cf34c9 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/methods/InsertAll.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/mybatisplus/methods/InsertAll.java @@ -13,7 +13,7 @@ import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.mapping.SqlSource; /** - * 单sql批量插入 + * 单sql批量插入( 全量填充 无视数据库默认值 ) * * @author Lion Li */ diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java index 499a5ad0..334f004c 100644 --- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java +++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java @@ -29,7 +29,7 @@ public class TestBatchController extends BaseController { private final ITestDemoService iTestDemoService; /** - * 新增批量方法 + * 新增批量方法 ( 全量覆盖填充 ) */ @PostMapping() public AjaxResult add() { diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java index 741919b1..9eceadf0 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java @@ -179,14 +179,10 @@ public class GenTableServiceImpl extends ServicePlusImpl 0) { // 保存列信息 List genTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); - List saveColumns = new ArrayList<>(); for (GenTableColumn column : genTableColumns) { GenUtils.initColumnField(column, table); - saveColumns.add(column); + genTableColumnMapper.insert(column); } - if (CollUtil.isNotEmpty(saveColumns)) { - genTableColumnMapper.insertAll(saveColumns); - } } } } catch (Exception e) { @@ -290,16 +286,12 @@ public class GenTableServiceImpl extends ServicePlusImpl dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList()); - List saveColumns = new ArrayList<>(); dbTableColumns.forEach(column -> { if (!tableColumnNames.contains(column.getColumnName())) { GenUtils.initColumnField(column, table); - saveColumns.add(column); + genTableColumnMapper.insert(column); } }); - if (CollUtil.isNotEmpty(saveColumns)) { - genTableColumnMapper.insertAll(saveColumns); - } List delColumns = tableColumns.stream().filter(column -> !dbTableColumnNames.contains(column.getColumnName())).collect(Collectors.toList()); if (CollUtil.isNotEmpty(delColumns)) {