2012-04-15 54 views
0

起初我的應用程序要訪問MySQL數據庫,但一切都改變了,現在它必須從XML文件讀取,它將從只讀取從MySQL XML轉儲中查詢POJO

基本思路是:
1.管理員應用程序保存到MySQL。
2.管理應用程序生成一個MySQL xml轉儲(mysqldump工具)。
3.應用程序將xml發送到客戶端。
4.客戶端查詢xml。

也許有更聰明的方式來建築這個,但現在這不是重點。 有沒有像XML - 關係這樣的Hibernate來做到這一點,我怎麼能做到這一點?

回答

0

使用XStream創建我的xml(而不是使用MySQL轉儲)並反序列化它。像魅力一樣工作。

我遵循的步驟。

  1. 創建一個Bean作爲我的根節點,這個bean擁有所有其他bean的列表。

  2. 做了一個xstream.toXML(myRootBean)並將它寫入一個xml文件。

  3. 另一方面,讀取文件並執行xstream.fromXML()將其轉換爲myRootBean。

  4. 然後,只需訪問列表,像myRootBean.getPotatoList()

重要的是注意,你必須設置別名,並toxml用於前fromXML每個類。

xstream.alias(「potatos」,List.class);

xstream.alias(「potato」,Potato.class);

0

XML將會有多大?要大到加載到RAM或不?如果不是太大,請加載並使用XPath。我推薦JDOM。如果太大,而且您不允許製作任何其他文件,請使用流式XPath解決方案(請參閱this SO post),但那麼您遇到了相當大的問題。性能將會非常糟糕。如果你可以將它轉換爲另一個文件,你可能會發現一個適合你的嵌入式數據庫(Derby,Hypersonic ...)。

+0

XML不是很大。我目前沒有當前的大小,但我確定它可以在運行時完全加載。 – 2012-04-16 03:18:28