2016-07-15 23 views
0

从Spring批处理中很少的csv文件导入数据的最佳方式是什么?我的意思是一个csv文件响应数据库中的一个表。 我为每个表创建了一个批处理配置类,每个表都有自己的作业和步骤。 有没有解决方案以更优雅的方式做到这一点?在Spring Batch中将数据从几个csv文件导入数据库

+0

如果您不需要复杂的映射和/或应用业务规则,则可以查看数据库的导入功能,例如,对于MySQL http://dev.mysql.com/doc/refman/5.7/en/load-data.html –

回答

1

有各种你能解决这个问题的方法,但最简单的工作看起来是这样的:

  • FlatFileItemWriterDelmitedLineTokenizerBeanWrapperFieldSetMapper阅读器来读取文件
  • 处理器,如果你需要做的任何额外的验证/过滤/转化
  • JDBCBatchItemWriter插入/更新目标表

这里的an example包括更多关于特定依赖关系,配置等信息。该示例使用上下文文件配置而不是基于注释,但它应该足以向您显示方式。

一个更复杂的解决方案可能是同一个分区的步骤,扫描文件,并利用参考表/模式信息的输入文件夹中的单个作业,会为它找到的每个文件读取/写入器的一步。

您可能还需要考虑如何处理这些文件一旦你完成...删除它们呢?压缩它们?