zoukankan      html  css  js  c++  java
  • Java 中 VO、PO、DTO、BO、POJO、DAO 之间的区别与解释

    转载:https://www.cnblogs.com/hunmeng/p/11298680.html

    VO

    value object:值对象

    通常用于业务层之间的数据传递,由new创建,由GC回收。

    PO

    persistant object:持久层对象

    对应数据库中表的字段。

    VO和PO,都是属性加上属性的get和set方法;表面看没什么不同,但代表的含义是完全不同的。

    DTO

    data transfer object:数据传输对象。

    表里面有十几个字段:id,name,gender(M/F),age,conmpanyId(如001)...

    页面需要展示四个字段:name,gender(男/女),age,conmpanyName(如今日头条股份有限公司)。

    DTO由此产生,一是能提高数据传输的速度(减少了传输字段),二能隐藏后端表结构。

    BO

    business object:业务对象

    BO把业务逻辑封装为一个对象。

    我理解是PO的组合,比如投保人是一个PO,被保险人是一个PO,险种信息是一个PO等等,他们组合起来是第一张保单的BO。

    POJO

    plain ordinary java object:简单无规则java对象

    纯的传统意义的java对象,最基本的Java Bean只有属性加上属性的get和set方法。

    可以转化为PO、DTO、VO;比如POJO在传输过程中就是DTO。

    DAO

    data access object:数据访问对象

    主要用来封装对数据的访问,注意,是对数据的访问,不是对数据库的访问。

    ~~~

    针对java工程里的各种带O的对象,进行分析,了解各自的作用。
    
    PO:persistent object,持久对象。与数据库里表字段一一对应。PO是一些属性,以及set和get方法组成。一般情况下,一个表,对应一个PO。是直接与操作数据库的crud相关。
    
    VO:vlue object,又名:表现层对象,即view object。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要。对于页面上要展示的对象,可以封装一个VO对象,将所需数据封装进去。
    
    BO:bussiness object,业务对象。封装业务逻辑的 java 对象 , 通过调用 DAO 方法 , 结合 PO,VO 进行业务操作。 一个BO对象可以包括多个PO对象。如常见的工作简历例子为例,简历可以理解为一个BO,简历又包括工作经历,学习经历等,这些可以理解为一个个的PO,由多个PO组成BO。
    
    DAO:data access object,数据访问对象。此对象用于访问数据库。通常和 PO 结合使用, DAO 中包含了各种数据库的操作方法。通过它的方法 , 结合 PO 对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。
    
    DTO:data trasfer object,数据传输对象。主要用于远程调用等需要大量传输对象的地方。
    
    比如我们一张表有 100 个字段,那么对应的 PO 就有 100 个属性。 但是我们界面上只要显示 10 个字段, 客户端用 WEB service 来获取数据,没有必要把整个 PO 对象传递到客户端,
    
    这时我们就可以用只有这 10 个属性的 DTO 来传递结果到客户端,这样也不会暴露服务端表结构 . 到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为 VO。
    
    POJO:plain ordinary java object) 简单无规则 java 对象 ,纯的传统意义的 java 对象。
    
  • 相关阅读:
    Audit(二)--清理Audit数据
    开启和关闭oracle数据库中的审计功能
    ORACLE AUDIT
    expdp导出卡住问题诊断
    Oracle 12c 新特性 --- 新增对数据泵操作的审计跟踪
    针对Oracle的审计方案
    深入理解Oracle的imp/exp 和各版本之间的规则
    Oracle Audit 功能的使用和说明
    Oracle的存储的三大物理文件
    操作系统核心原理-5.内存管理(下):段式内存管理
  • 原文地址:https://www.cnblogs.com/wbyixx/p/12015541.html
Copyright © 2011-2022 走看看