Java 中的 PO、VO、DTO、BO、POJO、BO/DO、DAO
一、简单 Java 对象
1️⃣PO persistent object
持久对象。与数据库里表字段一一对应。PO是一些属性,以及set和get方法组成。一般情况下,一个表对应一个PO,直接与操作数据库的crud相关。
2️⃣VO view object
/value object
表现层对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不。这根据业务的需要而定。对于页面上要展示的对象,可以封装一个VO对象,将所需数据封装进去。
3️⃣DTO data trasfer object
数据传输对象。主要用于远程调用等需要大量传输对象的地方。
比如一张表有 100 个字段,那么对应的 PO 就有 100 个属性。 但是界面上只要显示 10 个字段, 客户端用 WEB service 来获取数据,没有必要把整个 PO 对象传递到客户端,
这时就可以用只有这 10 个属性的 DTO 来传递结果到客户端,这样也不会暴露服务端表结构 . 到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为 VO。
4️⃣POJO plain ordinary java object
/pure old java object
简单无规则 java 对象,纯的传统意义的 java 对象。
二、复杂 Java 对象
1️⃣BO/DO bussiness object
/Domain Object
业务对象、域对象。封装业务逻辑的 Java 对象,通过调用 DAO 方法,结合 PO,VO 进行业务操作。一个BO对象可以包括多个PO对象。如常见的工作简历例子为例,简历可以理解为一个BO,简历又包括工作经历,学习经历等,这些可以理解为一个个的PO,由多个PO组成BO。
2️⃣DAO data access object
数据访问对象。此对象用于访问数据库。通常和 PO 结合使用,DAO 中包含了各种数据库的操作方法。通过它的方法,结合 PO 对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。
Java 中的 PO、VO、DTO、BO、POJO、BO/DO、DAO相关推荐
- Java 中的PO VO DTO BO
PO 持久对象,数据: BO 业务对象,封装对象.复杂对象 ,里面可能包含多个类: DTO 传输对象,前端调用时传输 : VO 表现对象,前端界面展示. 当你业务足够简单时,一个POJO 也完全当做P ...
- PO,BO,VO,DTO和POJO的概念区分
PO,BO,VO,DTO和POJO的概念区分 文章目录 PO,BO,VO,DTO和POJO的概念区分 POJO(plain ordinary java object) VO(View Object) ...
- PO VO DTO 转换神器替代BeanUtils 了
PO VO DTO 1. MapStruct简介 2.0 MapStruct入门 2.0.1 简易demo 2.1. 引入依赖 2.2. 需要转换的对象 2.3. 创建转换器 2.4. 验证 2.5. ...
- Java中 实体类 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念
PO(persistant object) 持久对象 在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了.通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理.可以 ...
- Java开发中的几种对象的说明(PO,VO,DTO,BO,POJO,DAO,SAO等)
一.PO :(persistant object ),持久对象 可以看成是与数据库中的表相映射的java对象,也就是说只有属性和setter和getter方法.使用Hibernate来生成PO是不错的 ...
- java中的PO、BO、VO、QO、POJO、DTO、DAO分别代表什么意思
PO: persistant object持久对象 BO: business object业务对象 VO: value object值对象,ViewObject表现层对象 QO: 查询对象 POJO: ...
- bo JAVA是什么意思_entity、bo、vo、po、dto、pojo如何理解和区分?
Java开发过程中,基本实体类包都以entity或者model来称呼,可是不少项目中,却以Bo.Vo来命名,面试的时候,也有可能被问到这些问题.那么,这几者分别代表什么意思呢? Entity 最常用实 ...
- VO的实际应用;后端接收前端传入的值;实体类转化VO;PO,VO,DTO,BO,DAO,POJO区别
文章目录 各层转换流程 分层领域模型规约: 领域模型命名规约: 后端向前端传参 封装 前端向后台传参 封装 快速转换解决方案 参考 各层转换流程 分层领域模型规约: DO( Data Object): ...
- entity、bo、vo、po、dto、pojo如何理解和区分?
Entity 最常用实体类,基本和数据表一一对应,一个实体一张表. Bo(business object) 代表业务对象的意思,Bo就是把业务逻辑封装为一个对象(注意是逻辑,业务逻辑),这个对象可以包 ...
最新文章
- SLAM知识[7]:依赖项和安装
- 实习随记-不定时更新
- 零基础学Python(第二十章 异常处理try)
- AD域机器如何指定时钟服务器,active-directory – 如何让我的域控制器与正确的外部时间源同步?...
- Spring Bean 后置处理器PostProcessor
- SQL Server创建索引(转)
- ListBox之随手放个控件
- uinty粒子系统子物体变大_新Unity 最新粒子系统如何用代码改变参数
- java 本年第一天_JAVA获取本周 本月 本年 第一天和最后一天
- 【PHP内核剖析】一、PHP基本架构
- ad19做直插封装 ipc_共享一下自己的PCB封装库(Altium Designer)
- Java并发练习:无锁编程
- 如何下载旧版本android NDK
- 至强服务器虚拟机黑苹果,[经验] AMD/Intel CPU VMware虚拟机安装黑苹果
- android文件地址,Android文件夹在哪
- EChat(简易聊天项目)一、登录注册实现
- 旭日图(Sunburst)
- 成为一名优秀黑客的12个基本步骤
- HDU4355-三分
- python一次性封装多条sql语句(begin end)
热门文章
- cic曲线是什么_国际经济学6章经济增长与国际贸易.ppt
- 最简单的理解lambda,map,reduce,filter,列表推导式
- c#的dllimport
- Python四则运算
- Debian 10 镜像资源
- 零基础JavaScript入门教程(2)–在网页中使用JS
- javascript-DOM基础教程
- 【论文阅读】Impact of Texture Information on Crop Classificationwith Machine Learning and UAV Images
- 基于Python+OpenCV的图像搜索引擎(CBIR+深度学习+机器视觉)含全部工程源码及图片数据库下载资源
- 考虑最周全的flutter短信验证登录模块