PO,BO,VO,DTO区别
PO(bean、entity等命名):
持久对象,对应数据库表中的每一行记录,对应数据库的entity
BO(service、manager、business等命名)
业务对象,将业务逻辑封装成一个对象,这个对象可以包含多个对象,也就是一个BO可以理解为一个或者多个PO的组合,如,学生-PO,学校-PO,老师-PO,这些PO可以组合成一个BO,这样,处理业务逻辑的时候可以只处理一个BO
VO
表现层对象,服务器向客户端展示的数据对象,主要对应界面展示,数据库设计时,有些字段不需要再页面展示,可以创建一个VO来封装页面需要展示的字段
DTO
数据传输对象,用于客户端和服务端输入输出数据对象,客户端向服务端传输数据,controller收到视图层传输数据VO,通过删减,转成DTO,向service层传输.如果数据从服务端向客户端传输,会将DTO转成VO,将VO展示到视图层
关系层级如图:
(图片来源于其他)
实际使用中:数据库查询出来的数据,一般放在entity包下面,里面的对象就是PO,痛过service层的业务逻辑处理,封装PO为BO,给controller层,如果controller层传输给前端展示的数据更少,需要处理,DTO,删减BO的属性,输出给前端VO,展示数据
参考其他资料总结,有更好的理解再更正补充
PO,BO,VO,DTO区别相关推荐
- PO,BO,VO,DTO和POJO的概念区分
PO,BO,VO,DTO和POJO的概念区分 文章目录 PO,BO,VO,DTO和POJO的概念区分 POJO(plain ordinary java object) VO(View Object) ...
- Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分 PO:持久对象 (persistent object),po(persiste ...
- java中bean对象_JAVA中PO,BO,VO,DTO,POJO,Entity,JavaBean,JavaBeans各个对象的区别,以及lombo、jpa简介及用法...
常见JAVA类概念介绍 PO:持久对象 (persistent object). 是ORM(Objevt Relational Mapping)框架中Entity,PO属性和数据库中表的字段形成一一对 ...
- PO,BO,VO,DTO和POJO
概念 POJO(plain ordinary java object) 无规则简单java对象 VO(View Object) 视图对象,用于表现层,它的作用是把某个指定页面(或组件)的所有数据封装起 ...
- PO BO VO DTO POJO DAO DO 在java中的概念
PO BO DTO VO POJO PO DTO VO BO 都叫POJO,就是个简单的java对象: DAO 是进行数据库增删改查的类. BO 业务对象,封装对象.复杂对象 ,里面可能包含多个类: ...
- PO BO VO DTO POJO DAO概念
刚开始写blog,主要的目的是积累,学习,供日后查找! 如题,今天跟主管交流,被好多名词整蒙了,这些词以前都听说过,但是对其内在的含义并不是很清楚的了解,借此机会写上来,增加记忆和理解吧. 一下是原文 ...
- PO/BO/VO/DTO/POJO/DAO/DO
文章目录 DO(Domain Object) DO(Data Object) PO VO BO DTO POJO DAO JavaBean EJB Entity 应用程序的分层设计 MVC 业务分层 ...
- PO BO VO DTO POJO DAO概念及其作用(附转换图)
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...
- java常见业务对象_Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分...
PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数 ...
最新文章
- 数据库持久 项目重启_Aerospike + ScaleFlux 提供的超高性能方案助力同盾超大规模核心数据库系统...
- leetcode 994. Rotting Oranges | 994. 腐烂的橘子(BFS)
- docker应用,后端服务出现OOM情况排查
- python2exe下载_py2exe下载 0.6.9.win32-py2.7-python转exe工具-pc6下载站
- BZOJ 1502:月下柠檬树
- windows tcp ping 端口工具及使用方法
- 基于WebAssembly 的H.265播放器研发
- CCF 期刊、会议 推荐目录
- #######好好好好##########知识图谱商业应用
- python编程语言在线编译手机_groovy在线运行,groovy在线编译,支持手机在线编程写代码 - Groovy教程...
- 10年涨7倍!纵观南京房价变迁史,看哭多少买房人!
- 新西兰计算机设计专业,2020年出国新西兰学习计算机专业的要求是什么?
- python简单实现排列和组合的计算
- xposed模块编写教程_太极xposed模块使用教程
- USB billboard
- 第二篇:到底什么才是数据资产
- com.google.android.material.tabs.TabLayout 选择tab 加粗字体加大
- 在Java里面使用Pairs或者二元组
- 【学习OpenCV4】图像金字塔总结
- java面试项目中遇到什么问题,大量教程