什么是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。

 

 

原文地址:https://www.cnblogs.com/baichendongyang/p/13235529.html