java - 查询数据库中的对象列表,以便从该列表创建对象 : proper way to do

标签 java database

我在数据库中有一个报告类型(对象)列表,需要为用户生成并通过电子邮件发送/打印/保存在硬盘等上。

一份报告(“骨架”)是数据库中的一行。

我的问题是:我应该为一行的查询结果创建一个单独的对象 - “骨架”报告对象,然后使用该对象创建最终的“报告”对象。这是处理此类任务的正确方法吗?

有人告诉我,创建一个方法并从其中的数据库中获取行集会更容易。然后解析行集以获取创建报表、创建最终报表对象等所需的参数。

最佳答案

我不完全确定我是否正确理解你的问题,但我假设你想知道是否应该用数据库中的数据填充对象并在创建报告时解析该对象,或者只是将结果集传递给创建方法?

我建议使用一个对象“骨架”并填充这个对象,因为您可以稍后重用它,并且在我看来,它使代码更具可读性。

有关此主题的更多信息: 在许多应用中MVC模式用于构建您的程序。在此模式中,您将程序分为 3 层,第一层用于 UI( View ),第二层用于业务逻辑( Controller ),第三层用于持久性数据(模型)。这些层仅通过代表您的数据的域模型对象进行通信(在您的情况下,这将是“骨架”对象,也称为 POJO )。如果您突然想从数据库更改为文本文件或任何其他持久性策略,这尤其有用,因为您只需更改模型层,同时保持其他层基本相同(特别是如果您使用接口(interface))。您可以在互联网上找到很多有关此模式的信息,对于大多数标准应用程序,我肯定会推荐它

关于java - 查询数据库中的对象列表,以便从该列表创建对象 : proper way to do,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38995407/

相关文章:

java - JAXB。通过两个 xsd 验证 XML

java - 跨 Web 应用程序处理标准化外观和安全性的最佳方式?

database - 嵌入用于数字数据的 SQLite/Firebird

MySQL 复制 - 多个主服务器(不同的 d/bs)复制到同一从服务器

mysql - 公司数据库中的客户和分支机构查询

java - Sonar Web 客户端 - 更新值失败

java - 将 java.util.List.sort 与 java.time.LocalDateTime compareTo 方法结合使用

java - 在android中请求最近的城市

database - 在数据库表中表示人与人之间关系的适当方法是什么?

database - Skype 历史数据库的结构和格式