簡體   English   中英

JDBC和mySQL將相關的數據庫表轉換為對象

[英]JDBC and mySQL converting related database tables to objects

我想構建一個與mySQL數據庫連接的Java程序,該數據庫由具有不同的多對多和一對多表連接的表組成。

該程序可以處理不同作者和評論的書籍。 作者和書籍之間通過多對多聯系建立了聯系。 (因為作者可以寫不同的書,而一本書可以有不同的作者)。 書籍和評論通過一對多連接進行連接。

在程序方面,我制作了一個Album對象,該對象將其作者和評論存儲在單獨的數組列表中。 想法是遍歷不同的專輯並收集該專輯數據,然后是其作者和評論。

問題在於無法找到最佳方法。 我想最好是在封閉交易中進行,以使其更穩定。

以我有限的SQL和Java經驗,我只能看到3種不同的方式來執行此任務:

  1. 我是否應該在程序端執行此循環,並根據行號循環遍歷每個專輯,然后使用單獨的存儲過程獲得作者的榮譽,並使用另一個存儲過程通過外鍵進行恢復

  2. 還是應該在數據庫方面將整個操作作為存儲過程進行?

  3. 還是應該在大型連接過程中獲取所有表,然后使用som Java函數迭代該結果集?

還是做這件事的更好方法?

BR

如果我是你,那么我將使用ORM。 Java具有JPA2標准,該標准由Hibernate或Eclipselink實現,因此您可以輕松讀取對象之間的1:n和n:m關系。

在大多數用例中,您不需要進行迭代,而是從查找查詢開始(例如,用戶正在搜索某個作者的所有書籍)。 ORM允許您發出此查詢並獲取書籍列表,評論已經是每本書的預填充列表。

我建議您使用ORM(對象關系映射)框架,該框架簡化了從Java Objects訪問MySQL中的關系數據的過程。 參見休眠

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM