当前位置: 首页 > news >正文

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返回给前端

http://www.jsqmd.com/news/217018/

相关文章:

  • ArcGIS Pro3.5.2安装包+安装详细教程+系统需求
  • MySQL进程CPU 飙升900%,领导让我查什么原因?
  • 【课程设计/毕业设计】基于 python的CNN深度学习的遥感图片识别沙漠湖泊和森林
  • ArcGIS Pro查看多期数据变化!卷帘+多地图联动齐上架
  • Stream流式编程 中间操作和终端操作介绍
  • 【苹果分级】基于matlab GUI机器视觉苹果质量检测及总分级系统【含Matlab源码 14878期】
  • 【课程设计/毕业设计】基于深度学习的印刷体数字和字母识别基于python深度学习的印刷体数字和字母识别
  • 深度学习计算机毕设之机器学习基于CNN深度学习的遥感图片识别沙漠湖泊和森林
  • ArcGIS土地利用现状图制作全流程
  • Merge3D 三维引擎中 GeoJSON 数据加载的整体设计
  • K8S安装指南与核心操作命令汇总
  • 企业知识管理新范式:用ChatWiki+大模型实现“一问即答“[必学收藏]
  • 15_嵌入式C与控制理论入门:控制算法的定点数优化与精度平衡
  • 新下证美国外观专利:42款亚马逊侵权高危新品,跨境卖家立即自查!
  • 【毕业设计】python基于CNN深度学习的遥感图片识别沙漠湖泊和森林
  • Mysql 驱动程序
  • 【值得收藏】Agent-Graph:构建强大多智能体系统的完整教程
  • ArcGIS汉化不成功的解决方案
  • 港美主流期货 API 接入全指南:TradingView 看盘策略
  • 【毕业设计】基于python深度学习的印刷体数字和字母识别基于python的印刷体数字和字母识别
  • 一部手机不够玩?鸿蒙如何把多设备变成一个游戏系统(实战解析)
  • .NET开发必备:Redis、IoC、AutoMapper实战指南
  • 大型C项目的头文件管理:3招解决“重复包含”与“依赖混乱”
  • MemR3:给大模型记忆系统装一个“会思考的小脑“,准确率提升5-9%
  • 用 Wireshark 嗅探 ESP32 通信数据,教你看懂“WiFi 的语言”
  • 题解:AT_iroha2019_day3_f 闇のカードゲーム
  • Day60 PythonStudy
  • 【机械臂】基于Sawyer机械臂的多目标 RRT 路径规划 + 轨迹跟踪控制+ 数据生成附matlab代码
  • AI产品经理VS普通产品经理:AI思维才是核心竞争力,程序员必学技能
  • 【Hadoop+Spark+python毕设】近8年软科中国大学排名数据可视化分析系统、计算机毕业设计、包括数据爬取、数据分析、数据可视化、实战教学