java - 在 Spring Boot 中将 .csv 文件上传到数据库

标签 java spring spring-boot opencv

这是我读取并保存到正在工作的表中的方式,但它非常慢,我有一个包含 360K 记录的文件,这种方式需要一天多的时间来解析它们并保存到数据库中。
我正在寻找更好的方法
` public void parseEntitiesListFile() 抛出 CsvValidationException, IOException {

        List<List<String>> records = new ArrayList<List<String>>();
        CSVReader csvReader = new CSVReader(new FileReader(fileDirctory));
        csvReader.skip(1);
     
      String[] values = null;
      
      while(true) {
          values = csvReader.readNext();
          FFIList fFIListObject = new FFIList(); 
          fFIListObject.setGIIN(values[0]);
          fFIListObject.setFINm(values[1]);
          fFIListObject.setCountryNm(values[2]);
          fFIListService.saveFFIListEntity(fFIListObject);            
      }
      
      
}
 
`

最佳答案

您可以使用spring batch将.csv数据存储到数据库中,该数据库有一个job Launcher、job和step(它由ItemReader、ItemProcessor、Itemwritter组成)。
供引用,请访问此链接
https://spring.io/guides/gs/batch-processing/

关于java - 在 Spring Boot 中将 .csv 文件上传到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62582676/

相关文章:

spring - Spring Security:REST API需要哪个过滤器

mysql - SQL 错误 : 1064, SQLState : 42000 - Caused by: org. hibernate.exception.SQLGrammarException: 无法执行语句

java - 使用 Maven 运行 GWTTestCase

java - 无法点击java selenium中的按钮?

java - 避开项目目录 - Java EE 应用程序

Javascript AJAX 调用 SpringBoot Controller 并获取 JSON 响应

java - 更改 gradle 中的 fat jar 名称

java - 从 Eclipse 中的工作应用程序导出后出现 ClassNotFoundException

spring - 有没有办法在包级别使用 Spring @Profile 注释?

spring - 相同的端点,有和没有 @RequestParam