From 3aaf4e2384867c7900293063ed81450b0c965499 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Mon, 19 Jul 2021 14:18:38 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=9B=9E=E6=BB=9A=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=99=A8=20=E6=89=B9=E5=A4=84=E7=90=86?= =?UTF-8?q?=E4=BC=98=E5=8C=96(=E5=AD=97=E6=AE=B5=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E4=B8=8D=E4=B8=80=E8=87=B4,=20=E4=B8=8D=E9=80=82=E5=90=88?= =?UTF-8?q?=E6=89=B9=E5=A4=84=E7=90=86)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/mybatisplus/core/BaseMapperPlus.java | 4 ++++ .../core/mybatisplus/core/ServicePlusImpl.java | 14 ++++++-------- .../common/core/mybatisplus/methods/InsertAll.java | 2 +- .../ruoyi/demo/controller/TestBatchController.java | 2 +- .../generator/service/GenTableServiceImpl.java | 12 ++---------- 5 files changed, 14 insertions(+), 20 deletions(-) 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 cf51c90eb..ee779a5b8 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 77b9c2860..fb0998b7f 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 ec57621b8..66cf34c9b 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 499a5ad0d..334f004cd 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 741919b19..9eceadf08 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)) {