zoukankan      html  css  js  c++  java
  • 什么是PO,VO,DTO,DAO,POJO

    1.PO

    PO(persisent object),即持久对象,在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。主要是对应数据库中的字段,可以简单认为一个PO对应数据库中的一张表,其中po对象的属性对应数据库中的字段。持久对象由insert数据库创建,由delete数据库删除。PO中不应该包含任何对数据库的操作。

    2.POJO

    POJO(plain ordinary java object,也有叫pure old Java object )无规则简单java对象,实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter setter方法的类,有时可以作为value object或dto(Data Transform Object)来使用。但是如果涉及到比较复杂的逻辑的话,就需要重新构造新的接收对象。

    POJO是由new创建,由GC回收。

    3.VO

    value object值对象 ,他可以和表对应,也可以不用,取决于业务的需要和复杂程度。通常用于业务层之间数据的传递,也是用于包含数据。

    view object表现层对象,主要对应页面显示的数据对象,用VO来封装页面需要展示的数据对象。

    4.DTO

    DTO:数据传输对象,顾名思义,主要是为了传输数据,所以构造的一个对象。它的构造是基于数据库中的表的,比如某个数据库表有20个字段,但是表现层只需要其中的5个字段,那么这个时候就没有必要以整个数据库对应的POJO对象作为接收数据对象了,我们可以构造一个DTO传递数据到客户端,到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。

    5.DAO

    DAO:data access object数据访问对象,即我们常说的操作数据库的对象。主要用来封装对DB的访问(CRUD操作),并通过接收Business层的数据,把POJO持久化为PO,用PO组装出VO,DTO。

     

     

  • 相关阅读:
    java——注解Annotation
    java——maven
    sklearn——回归评估指标
    java——单例模式
    java——极简handler机制
    java——为什么要有接口?和抽象类有什么不一样?
    java——cmd命令编译带包名的源程序
    [loj 2478][luogu P4843]「九省联考 2018」林克卡特树
    「线性基」学习小结
    FOI 冬令营 Day6
  • 原文地址:https://www.cnblogs.com/baichendongyang/p/13235529.html
Copyright © 2011-2022 走看看