优化批量提交
parent
7f1a65f3f7
commit
3e594ab70e
|
@ -1,5 +1,6 @@
|
|||
package com.zcloud.service.accident.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.*;
|
||||
|
@ -123,10 +124,24 @@ public class AccidentRecordsServiceImpl implements AccidentRecordsService {
|
|||
// 标记别名
|
||||
HEADER_ALIAS_CACHE.forEach((k, v) -> reader.addHeaderAlias(v, k));
|
||||
List<AccidentRecordsExcel> recordsExcels = reader.readAll(AccidentRecordsExcel.class);
|
||||
if (CollUtil.isEmpty(recordsExcels)) {
|
||||
throw new RuntimeException("没有数据");
|
||||
}
|
||||
sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
||||
AccidentRecordsMapper mapper = sqlSession.getMapper(AccidentRecordsMapper.class);
|
||||
recordsExcels.forEach(accidentRecord -> mapper.save(new AccidentRecords(accidentRecord, dictionariesService)));
|
||||
for (int i = 0; i < recordsExcels.size(); i++) {
|
||||
mapper.save(new AccidentRecords(recordsExcels.get(i), dictionariesService));
|
||||
if ((i + 1) % 300 == 0 || i == recordsExcels.size() - 1) {
|
||||
sqlSession.flushStatements();
|
||||
}
|
||||
}
|
||||
sqlSession.commit();
|
||||
} catch (RuntimeException e) {
|
||||
if (sqlSession != null) {
|
||||
sqlSession.rollback();
|
||||
}
|
||||
log.error("导入excel失败", e);
|
||||
throw e;
|
||||
} catch (Exception e) {
|
||||
if (sqlSession != null) {
|
||||
sqlSession.rollback();
|
||||
|
|
Loading…
Reference in New Issue