第 1 个:DAO

  DAO(Data Access Object)数据访问对象,它是一个面向对象的数据库接口,负责持久层的操作,为业务层提供接口,主要用来封装对数据库的访问,常见操作无外乎 CURD。我们也可以认为一个 DAO 对应一个 POJO 的对象,它位于业务逻辑与数据库资源中间,可以结合 PO 对数据库进行相关的操作。

  第 2 个:PO

  PO(Persistent Object)持久层对象,它是由一组属性和属性的get和set方法组成,最简单的 PO 就是对应数据库中某个表中的一条记录(也就是说,我们可以将数据库表中的一条记录理解为一个持久层对象),多个记录可以用 PO 的集合,PO 中应该不包含任何对数据库的操作。PO 的属性是跟数据库表的字段一一对应的,此外 PO 对象需要实现序列化接口。

  第 3 个:BO

  BO(Business Object)业务层对象,是简单的真实世界的软件抽象,通常位于中间层。BO 的主要作用是把业务逻辑封装为一个对象,这个对象可以包括一个或多个其它的对象。举一个求职简历的例子,每份简历都包括教育经历、项目经历等,我们可以让教育经历和项目经历分别对应一个 PO,这样在我们建立对应求职简历的 BO 对象处理简历的时候,让每个 BO 都包含这些 PO 即可。

  第 4 个:VO

  VO(Value Object)值对象,通常用于业务层之间的数据传递,和 PO 一样也是仅仅包含数据而已,但 VO 应该是抽象出的业务对象,可以和表对应,也可以不对应,这根据业务的需要。 如果锅碗瓢盆分别为对应的业务对象的话,那么整个碗柜就是一个值对象。此外,VO 也可以称为页面对象,如果称为页面对象的话,那么它所代表的将是整个页面展示层的对象,也可以由需要的业务对象进行组装而来。

  第 5 个:DTO

  DTO(Data Transfer Object)数据传输对象,主要用于远程调用等需要大量传输对象的地方,比如我们有一个交易订单表,含有 25 个字段,那么其对应的 PO 就有 25 个属性,但我们的页面上只需要显示 5 个字段,因此没有必要把整个 PO 对象传递给客户端,这时我们只需把仅有 5 个属性的 DTO 把结果传递给客户端即可,而且如果用这个对象来对应界面的显示对象,那此时它的身份就转为 VO。使用 DTO 的好处有两个,一是能避免传递过多的无用数据,提高数据的传输速度;二是能隐藏后端的表结构。常见的用法是:将请求的数据或属性组装成一个 RequestDTO,再将响应的数据或属性组装成一个 ResponseDTO.

  第 6 个:POJO

  POJO(Plain Ordinary Java Object)简单的 Java 对象,实际就是普通的 JavaBeans,是为了避免和 EJB(Enterprise JavaBean)混淆所创造的简称。POJO 实质上可以理解为简单的实体类,其中有一些属性及其getter和setter方法的类,没有业务逻辑,也不允许有业务方法,也不能携带有connection之类的方法。POJO 是 JavaEE 世界里面最灵活的对象,在简单系统中,如果从数据库到页面展示都是 POJO 的话,它可以是 DTO;如果从数据库中到业务处理中都是 POJO 的话,它可以是 BO;如果从数据库到整个页面的展示的话,它也可以是 VO.

参考

DO VO BO DTO POJO概念记录相关推荐

  1. PO VO BO DTO POJO DAO(转)

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

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

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

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

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

  4. JSP PO VO BO DTO POJO DAO解释

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

  5. PO/VO/BO和POJO概念

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

  6. Java基础 - AO BO DO PO VO DAO DTO POJO

    Java基础 - AO BO DO PO VO DAO DTO POJO AO Application Object 应用对象. 在Web层与Service层之间抽象的复用对象模型,极为贴近展示层,复 ...

  7. DO、PO、VO、DTO、BO、POJO概念

    DO.PO.VO.DTO.BO.POJO DO (Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象. 一般就是从数据库查询的信息,将这些信息封装成DO类, DAO层将D ...

  8. 转贴一个关于DTO DAO VO BO PO POJO的^_^

    DTO DAO VO BO PO POJO- - potian 写道: 辨别一些名词: 1.VO:实际上很模糊,通常指ValueObject和ViewObject 2. ViewObject,界面展现 ...

  9. 关于po、vo、dto的概念

    一:关于po.vo.dto的区别 在项目开发过程中,经常会碰到pojo.po.vo.dto的实体类,现在记录一下po.vo.dto的用法. 其中pojo是po.vo.dto的统称. po.vo.dto ...

最新文章

  1. java连接Excel数据库读取,写入,操纵Excel表格
  2. Linux 播放网易云音乐(树莓派)
  3. nyoj-括号匹配(二)---动态规划
  4. 四、卫星定位《苹果iOS实例编程入门教程》
  5. mysql远程访问时间长无反应_远程MySQL访问需要很长时间
  6. Spring Boot 乐观锁加锁失败 - 集成AOP
  7. 「管理数学基础」3.4 凸分析:最优性的充要条件、无约束极小化问题、一般非线性规划问题
  8. Photoshop中预设资源安装方式-笔刷、动作、渐变、形状、样式等
  9. 智慧消防技术在安全管理中的应用与研究
  10. reg类型变量综合电路_Verilog中 reg和wire 用法和区别以及always和assign的区别
  11. 递归算法应用实例------八皇后算法
  12. 完美卸载mac电脑里的软件及残留清理教程
  13. 并发编程(四)---设计模式
  14. cadcene17.4改背景颜色
  15. 阿里马来西亚办公室开业,马财政部长加持:“阿里巴巴家喻户晓”
  16. 新学:DES加密 小知识点(S盒,初始置换)
  17. Java有哪些访问修饰符呢?
  18. Druid+Sqlite-JDBC+Kotlin,封装的一个都是毛病的工具类,奆佬们,评论区教一下我怎么封装
  19. 02 电商数仓(数据采集模块)
  20. 云解析 PrivateZone 1 -----产品简介

热门文章

  1. CSharp 类型转换
  2. 浅谈可控硅两端增加电阻和电容的作用
  3. java抽奖程序_java怎么做出简单的抽奖程序?实例代码展示
  4. 谷歌浏览器如何清除自动填充表单数据??就是一登录进入就会将之前输入的内容自动输入进去进行清空
  5. Unity3D实用脚本(二)—— 检查场景中用到的资源
  6. carve into_carve是什么意思_carve的翻译_音标_读音_用法_例句_爱词霸在线词典
  7. requestPermissions读写手机存储权限_2020年新版手机QQ接受文件存在哪里?钛备份闪退等使用教程...
  8. php wscript.shell run,php调用com 组件wscript.shell执行dos命令
  9. Android百度地图(六)自定义导航路线规划
  10. 持证支付机构重庆公众通投资控股的国通石油遭遇危机