使用Spring Boot和Spring Batch读取.csv文件并将其存储在数据库中

问题描述 投票:0回答:2

我正在开发一个简单的应用程序,它将允许用户通过reactjs客户端上传.csv文件并将其存储在mysql数据库中。我发现了一些有关如何在线执行类似操作的教程(https://spring.io/guides/gs/batch-processing/),但它们都使用本地保存的.csv文件在项目目录中。我有使用Spring Boot设计RESTful接口的经验,看起来Spring Batch很容易弄清楚,但我不知道该怎么办:

  1. 从现有的Spring Boot应用程序中调用Spring Batch应用程序
  2. 将.csv文件从客户端驱动器传递到Spring Batch应用程序

我是否必须将.csv文件从客户端驱动器上载到运行Spring Batch(或Spring Boot)应用程序的服务器上?如果是这样,是否有托管服务可让我托管单个.csv文件和Spring应用程序?

java spring spring-boot spring-batch
2个回答
1
投票

您不需要两个单独的应用程序-您可以将Spring Batch作业/步骤嵌入到Spring Boot应用程序中。

您将需要创建一个接收多部分文件上传的终结点,以将CSV文件存储在某个地方。否则,您的批处理步骤将无法处理。您可以将该文件存储在应用程序服务器的硬盘驱动器上,或存储在托管存储解决方案(如Amazon S3)中。


0
投票

当然,csv是非常简单的格式,但是任何东西都有方便的库,它们可以“从盒子里”完成所有工作。看一下OpenCSV ...它可以从流中读取csv,并且可以使用CSVReader对其进行自定义,例如,从db中逐行读取或获取带有数据的大块。我认为这是处理CSV格式最强大的库。

© www.soinside.com 2019 - 2024. All rights reserved.