DO:
domain object持久对象
就是从现实世界中抽象出来的有形或无形的业务实体。

PO:
persistant object持久对象
最形象的理解就是一个PO就是数据库中的一条记录。
好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。

BO:
business object业务对象
主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。
比如一个简历,有教育经历、工作经历、社会关系等等。
我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。
建立一个对应简历的BO对象处理简历,每个BO包含这些PO。
这样处理业务逻辑时,我们就可以针对BO去处理。

VO :
value object值对象
ViewObject表现层对象
主要对应界面显示的数据对象。对于一个WEB页面,或者SWT、SWING的一个界面,用一个VO对象对应整个界面的值。

DTO :
Data Transfer Object数据传输对象
主要用于远程调用等需要大量传输对象的地方。
比如我们一张表有100个字段,那么对应的PO就有100个属性。
但是我们界面上只要显示10个字段,
客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,
这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO

POJO :
plain ordinary java object 简单ava对象
个人感觉POJO是最参见最多变的对象,是一个中间对象,也是我们最常打交道的对象。
一个POJO持久化以后就是PO
直接用它传递、传递过程中就是DTO
直接用来对应表示层就是VO

DAO:
data access object数据访问对象
这个大家最熟悉,和上面几个O区别最大,基本没有互相转化的可能性和必要.
主要用来封装对数据库的访问。通过它可以把POJO持久化为PO,用PO组装出来VO、DTO

在大神的总结下,加入个人的部分理解,不一定完完全全按照这个关系来转化,可以根据具体的项目环境要求来变化,不能矫枉过正。比如DO有些人可能会理解成Data Object也不是没有道理。

原文:https://blog.csdn.net/win7system/article/details/54890987 

PO、VO、BO、DTO、POJO、DAO、DO之间的关系相关推荐

  1. JavaEE PO VO BO DTO POJO DAO 整理总结(转)

    阅读目录 1.DAO[data access object]数据访问对象 2.DTO[data transfer object]数据传输对象 3.PO[persistant object]持久层对象 ...

  2. JavaEE PO VO BO DTO POJO DAO 整理总结

    阅读目录 1.DAO[data access object]数据访问对象 2.DTO[data transfer object]数据传输对象 3.PO[persistant object]持久层对象 ...

  3. PO VO BO DTO POJO DAO(转)

    2EE开发中大量的专业缩略语很是让人迷惑, 特别是对于刚毕业的新人来说更是摸不清头脑.若与公司大牛谈技术人家出口就是PO VO BO DTO POJO DAO 等,让新人们无比仰慕大牛. 为了让新人快 ...

  4. JSP PO VO BO DTO POJO DAO解释

    PO :persistent object持久对象 1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录. 2 .在hibernate持久化框架中与i ...

  5. java qo_Java中DAO/DTO/PO/VO/BO/QO/POJO

    ORM:是Object Relational Mapping(对象关系映射)的缩写. 通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/R/M的世界里,有两个基本的也是重要的东东需要了 ...

  6. DO VO BO DTO POJO概念记录

    第 1 个:DAO DAO(Data Access Object)数据访问对象,它是一个面向对象的数据库接口,负责持久层的操作,为业务层提供接口,主要用来封装对数据库的访问,常见操作无外乎 CURD. ...

  7. PO/VO/BO和POJO概念

    PO:persistent object 持久对象 1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录. 2 .在hibernate持久化框架中与i ...

  8. java中几种常用的对象类型(po,vo,bo,dto)

    PO(persistant object) 1.持久对象 在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了.   2.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看 ...

  9. PO/BO/VO/DTO/POJO/DAO/DO

    文章目录 DO(Domain Object) DO(Data Object) PO VO BO DTO POJO DAO JavaBean EJB Entity 应用程序的分层设计 MVC 业务分层 ...

  10. PO BO VO DTO POJO DAO概念及其作用(附转换图)

    J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...

最新文章

  1. 利用frp进行内网穿透
  2. java 深拷贝 流_(转)Java技巧:深拷贝的两种方式
  3. LeetCode() Remove duplicates from sorted list II
  4. JAVA求集合中的组合
  5. 漫画:什么是区块链?
  6. 轨迹跟踪主要方法_DELMIA教程:基于指令形式的机器人TCP轨迹局部跟踪方法
  7. 擅长排列的小明(nyoj19)
  8. linux centos目录结构(二)
  9. 扫描工具——Nmap用法详解
  10. 【微信小程序】flex布局
  11. 2019年3月6日-KS103的使用
  12. 2018年年底PC浏览器使用率
  13. java 视频 合并成一个_java实现视频分段并且合并 | 学步园
  14. FDE中的金属边界条件和PML边界条件的选取
  15. 三星s5pv210核心板全球最低价199元,尽在保定芯灵思
  16. display lldp neighbor brief
  17. “钱三篇”后续之利息-钱的时间价值!
  18. python毕业设计作品基于django框架 校园二手书籍交易系统毕设成品(8)毕业设计论文模板
  19. 语音直播源码的发展,语音聊天室APP源码
  20. 哈尔滨计算机动漫游戏学校,动漫设计_哈尔滨双星计算机职业技术学校

热门文章

  1. el-progress仪表盘底色修改
  2. 【图文详解】kkFileView文件文档在线预览启动报错:启动office组件失败,请检查office组件是否可用
  3. Arduino 蜂鸣器
  4. PTA 7-3 在数组中查找指定元素(10分)
  5. 电子工资条,轻松解决工资条发放问题
  6. 【毕业设计】机器学习恶意流量识别检测(异常检测) - 网络安全 信息安全
  7. html range 后插入,javascript – range.insertNode()未按预期插入文本节点
  8. android设置title_2020年全网最全的关于iOS、Android设计规范、适配总结
  9. “王者”依然“荣耀”,错的不是游戏而是对游戏的偏见
  10. Oracle 错误解决(ORA-01034和ORA-27101)