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