news 2026/6/9 21:25:37

PO、VO、BO、DTO、DAO、POJO有什么区别?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PO、VO、BO、DTO、DAO、POJO有什么区别?

PO(Persistent Object)持久化对象,主要用于和数据库交互,是数据库数据在内存中的镜像。

VO(View Object)视图对象,和前端展示强相关,按需组装前端需要的字段。

BO(Business Object)业务对象,封装业务逻辑,包含业务处理方法,是业务层专用,业务层只操作BO,不直接碰PO/DTO。

DTO(Data Transfer Object)数据传输对象,屏蔽底层 PO 结构,可细分 ReqDTO(请求)和 ResDTO(响应),用于跨层或者跨服务传输数据。

DAO(Data Access Object)数据访问对象,负责和数据库打交道,隔离业务逻辑和数据操作,依赖PO,通过操作PO完成与数据库的交互。

POJO(Plain Ordinary Java Object)简单Java对象,最基础的Java类。

PO/VO/BO/DTO 本质上都是 POJO。

常见的调用链路

前端请求 → Controller接收【ReqDTO】→ Service将ReqDTO转为【BO】→ BO调用【DAO】→ DAO操作【PO】与数据库交互 → Service将BO/PO转为【ResDTO/VO】→ Controller返回给前端

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 14:48:05

扔掉了本地 IDE,开发部署只要 3 分钟。

“在我电脑上明明是好的”,这句话我曾说过无数遍,也听过无数遍。新项目启动要配几天环境,线上出了问题,却发现和本地环境完全对不上。我开始思考一个问题:为什么我们必须依赖一个如此脆弱、不一致的本地开发环境&#…

作者头像 李华
网站建设 2026/6/10 15:48:21

用这套新工作流,把上线时间从半天压到3分钟

“在我电脑上明明是好的”,这句话我曾说过无数次,也听过无数次。每次上线前,我们团队都要花大量时间在联调和解决各种诡异的环境问题上。我开始反思:我们真正的问题,或许根本不是代码,而是那个看不见、摸不…

作者头像 李华
网站建设 2026/6/10 13:33:10

蒙特卡洛树搜索(MCTS)赋能大语言模型:从快思考到慢思考的进阶之路

文章探讨了将蒙特卡洛树搜索(MCTS)与大语言模型(LLM)结合的方法,赋予LLM"慢思考"能力以解决复杂问题。分析了三种实现方案:PPO-MCTS利用价值函数减少计算复杂度;基于ChatGPT的任务规划方法通过状态和动作表示提升规划能力&#xff…

作者头像 李华
网站建设 2026/6/7 22:23:11

企业知识管理新范式:用ChatWiki+大模型实现“一问即答“[必学收藏]

ChatWiki是一款企业级AI知识库构建平台,通过四步简单操作(接入AI模型、创建知识库、配置AI机器人、实现智能应答),将分散的企业文档转化为可对话的智能资产。它解决了知识孤岛、更新低效和交互割裂三大痛点,适用于新员…

作者头像 李华