我有批处理步骤,我在其中读取文件,处理文件并将其保存到数据库。但由于它是满载的,因此我必须在插入新记录之前从数据库中删除表。
我的问题是,什么地方最适合编写代码来删除spring批处理中的现有表(读取器、处理器、写入器),以下是多个场景:
open()
在阅读器类的方法中执行此ItemReader<>
操作: 问题:如果我正在阅读的文件以某种方式损坏或空白,那么在这种情况下,我将得到空表。创建一个标志,设置一次,然后根据该标志删除处理器类中的表:可以这样做,但是有没有其他更好的方法或更好的速度来做到这一点
创建另一个临时表,将文件中的所有记录复制到该表中,然后在“@AfterStep”方法中,从实际表中删除所有记录,并将临时表中的所有记录移动到该表中。
是否有任何方法只在 之前被调用一次Itemprocessor
,然后使用标志执行它?请建议