繁体   English   中英

使用Spring Batch从数据库表中部分提取

[英]Partial Extract from Database Table with Spring Batch

我有一个带有自动递增整数主键的大型数据库表,我正在使用Spring Batch每天创建表的摘录以供其他系统使用。

我正在使用持久化前一个提取中的最高id的方法来设置下一个提取的起始点(即在sql中id> last_id_extracted)。 我目前正在使用JDBC使用普通的旧Java将其用于next_id表。

有没有更好的方法来使用Spring Batch处理这种提取边界。 据推测,这是批处理中非常常见的情况,Spring Batch可以提供帮助吗?

谢谢

您的方法仅适用于狭义的数据可能发生的情况。 它不会考虑现有数据的删除和修改。

为了使其更健壮,添加另一个表作为Extract Status,将数据表的记录ID作为外键。 如果上载记录,则“提取状态”表应具有“上次导出日期戳”。 然后,您可以实现以下规则:

1)如果Exp Stat中没有相应的行,则导出2)如果最后一次更新>最后导出,导出它3)如果它存在于Exp Status表中但不存在于Data Table中,则向消费者发送删除消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM