2015-05-09 70 views
-1

我正在研究需要從數據庫讀取數據並寫入JSON文件的模塊。以下示例我將嘗試說明場景Spring批處理是否適用於多個查詢數據讀取器

Department schema has two tables 
1. States columns- stateId, stateName, cityCount, debt, 
2. City columns- cityId, cityName, stateId, completedProjects, runningProjects 

需要爲每個狀態創建單獨的JSON文件。 樣本JSON- Washington.JSON

{ 
"StateId": id, 
"StateName": name, 
"debt": debt, 
Cities:[{ 
"cityId":id, 
"cityName":Name, 
"completedProjects":completedProjects, 
"runningProjects":runningProjects 
}] 
} 

爲此,我認爲,我們需要兩個查詢來獲取結果。一個用於從狀態表中獲取狀態表的詳細信息,另一個用於通過遍歷狀態表的結果集來從City獲取記錄。

我的經理建議使用上面的Spring Batch。我已經瀏覽了一些在線和示例應用程序的文檔。根據我在Spring Batch Item閱讀器中的理解,我們需要一次讀取所有數據。然後我們需要創建一個行映射器來映射記錄。寫入器可以使用此行映射器寫入文件。我認爲在這裏不能有單個查詢來獲取州和城市數據。我需要使用第一個查詢中的狀態ID從第二個查詢中獲取城市。

我的問題是如何讀取物品讀取器中的數據?
此外,我想知道Spring批處理是否會成爲當前情況的理想解決方案(考慮到城市等多種內部數據需要單獨查詢)。
對不起帖子太long..I想解釋目前之情況

回答

0
  1. 使用基於狀態+城市之間的連接單個查詢基ItemReader
  2. 使用自定義CompletionPolicy中突破狀態;以這種方式,您將收到狀態+城市bean的列表<>其中,國家是在列表<>
  3. 在您的自定義ItemWriter.write每個項目相同的()創建JSON文件(這應該很容易)

我的2cents

相關問題