在 Java 中,DAO 的方法应该返回 VO 还是 DTO ?

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2023年2月8日 (三) 04:44的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

DTO 是一种用于在不同层之间传输数据的对象,通常用于将数据从数据存储(如数据库)传输到用户界面。它们通常是只读的,不包含任何业务逻辑。

而 VO 则是一种封装数据的对象,可以更改,并且通常包含与数据相关的业务逻辑。

因此,如果 DAO (Data Access Object) 的目的是从数据存储中读取数据并传输到其他部分,则通常使用 DTO。如果需要在 DAO 中执行更多的业务逻辑,则可以使用 VO。

简而言之,选择返回 DTO 或 VO 取决于所需的功能和需求。重要的是让代码易于维护和理解。


一般而言,DAO 方法通常返回 DTO(数据传输对象),因为它代表与数据库交互的层,它的目的是从数据库中检索数据,并将其转换为有意义的对象,以便在应用程序中使用。

然而,有些开发人员喜欢在服务层返回 VO(值对象),因为它们代表了展示层所需的数据。