gpt4 book ai didi

java - 将数据从 DAO 传输到服务层的有效方法

转载 作者:行者123 更新时间:2023-12-02 11:18:23 26 4
gpt4 key购买 nike

在我们的项目中,我们使用DAO层从数据库访问数据,它只是使用 PreparedStatement 查询数据库并返回ResultSet到服务层。我知道返回 ResultSet 是个坏主意对于服务层,因为关闭 ResultSet 时会出现许多复杂情况。 , PreparedStatement , Connection有效率的。同样,最好的想法是将数据从 DAO 层填充到 DTO 并从服务层中的 DTO 访问数据,但我们的代码编写为只有一种通用方法用于从数据库查询数据,并且它返回ResultSe t。这个方法是从服务层的几个地方调用的,我们不能改变所有的地方并在那里编写DTO。

所以我的问题是在这种情况下将数据从 DAO 返回到服务层的最佳方式是什么?任何建议都会很好。

最佳答案

DAO 的全部意义在于它将数据访问从服务层中抽象出来,即服务层不应该知道(或关心)数据是否来自:

  • 数据库
  • 网络服务
  • 纯文本文件
  • 或其他地方

因此,DAO 的工作是将 SQL 结果转换为 DTO(列表)。

如果您有一个用于查询数据库的泛型类,并且它只返回一个 ResultSet,那么该类就不是 DAO。它是 DAO 类使用的辅助类。

看来您实际上缺少数据访问层,所以回答您的问题:

What would be the best way to return data from DAO to service layer?

编写返回 DTO 的实际 DAO 类。

关于java - 将数据从 DAO 传输到服务层的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50106241/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com