[英]Spring Batch : Compare Data Between Database
我有兩個數據庫,Oracle和MySQL。 目標是將Oracle中的表中的值保存到MySQL中,要求:MySQL表中不存在數據。
但是我很難理解春季批處理。 在步驟中,它包含itemReader,itemProcessor和itemWriter。 如果我的理解是正確的,那么一個步驟只能有一個itemReader(cmiiw)
我的計划是執行2個步驟:
步驟1.從MySQL表中列出
步驟2.使用主鍵ex:id將Oracle的T與List(步驟1)進行比較。
如果方法正確,我的問題是:如何逐步列出清單? 以及如何將其傳遞到步驟2?
我在這方面需要指導,謝謝
根據您的要求,您可以使用自定義項目閱讀器,例如
public class MyItemReader implements ItemReader<MyDTO> {
@Override
public MyDTO read() throws Exception {
MyDTO myDto = null;
/*
your custom code
*/
return myDto;
}
}
但是根據Sprig批處理結構,更好的方法是
因此,您可以在處理器中處理邏輯,在處理器中可以將數據與oracle進行比較,
步驟1. MySQL表中的列表-將在Spring Batch Reader中處理
步驟2.使用主鍵ex:id將Oracle的T與List(步驟1)進行比較。 -將在處理器中處理
為了提高性能,如果Oracle數據不是太多,我建議您利用一些緩存。 如果oracle數據很大,則可以采用簡單的方法在處理器中的oracle DB上查找數據
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.