簡體   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