繁体   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