Spring批量导入csv到数据库删除记录,如果不在csv中

时间:2014-09-30 20:17:20

标签: database csv spring-batch jobs

我正在开发一个Spring MVC应用,用户可以在其中搜索产品。产品存储在本地数据库中。 Spring Batch作业每天都会填充或更新数据库。产品数据来自多个csv文件。到现在为止还挺好。

我的问题: 某些产品可能会过期,不再出现在csv文件中。好吧,我不想每天检查所有传入的csv文件的整个数据库表,以检查我必须删除的数据库记录。

否则我可能会在csv导入之前截断我的数据库中的所有记录。但在这种情况下,Web应用程序中的用户在批处理作业执行期间将找不到任何产品。由于csv来自不同的商家,我只能在插入新商品之前删除此商家的所有商品。在这种情况下,在批处理作业执行期间,Web应用程序中只有这些产品不可用。

有没有人知道如何处理这个问题?

1 个答案:

答案 0 :(得分:3)

您可以使用标记表示“要删除的产品”,并在从CSV读取产品时清除此标记 您的工作的下一步是删除仍设置标记的记录。