2012-03-05 67 views
1

有一個非常龐大的數據集可以插入到XML中。我決定使用jaxb.xml.bind.Marshaller。Spring-Hibernate如何使用JAXB xml bind做分頁元帥

由於這個龐大的數據,我不得不從分頁中選擇數據的分頁。

我的意思是,例如,我必須從db獲得每個進程10.000行並立即寫入xml,並且這個過程繼續進行,直到寫入3百萬行。

最重要的限制是,我只能使用一個xml文件。換句話說,我必須將這些龐大的數據編入只有一個xml文件。因此,我想知道是否有可能將數據編組爲一個xml,然後再次重用和更新相同的xml bu編組。

非常感謝。

回答

1

實際上,你可以一口氣做,但不太方便的框架。首先去原始JDBC(可能與JdbcTemplate,請參閱方法採取RowCallbackHandler),而不是將整個表(300萬行)映射到一個巨大的集合,迭代結果(例如使用ResultSet)。通過這種方式,您可以避免多次分頁查詢,並且佔用的內存最小(與每次讀取10000行相比甚至更小)。

輸出如此大的XML文件是一個更大的問題。 不能用於輸出,不適合這樣的大文件。我認爲最好的方法是使用PrintWriter直接打印XML ...