优化批量提交
							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