一、PO :(persistant object ),持久对象

可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。

二、VO :(value object) ,值对象

通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要。

PO只能用在数据层,VO用在商业逻辑层和表示层。各层操作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。

三、DAO :(Data Access Objects) ,数据访问对象接口

DAO是Data Access Object数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。

J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码。

DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开.一个典型的DAO实现有下列几个组件:

1. 一个DAO工厂类;

2. 一个DAO接口;

3. 一个实现DAO接口的具体类;

4. 数据传递对象(有些时候叫做值对象).

具体的DAO类包含了从特定的数据源访问数据的逻辑。

四、BO :(Business Object),业务对象层

表示应用程序领域内“事物”的所有实体类。这些实体类驻留在服务器上,并利用服务类来协助完成它们的职责。

五、DTO Data Transfer Object数据传输对象

主要用于远程调用等需要大量传输对象的地方。比如我们一张表有100个字段,那么对应的PO就有100个属性。

但是我们界面上只要显示10个字段,客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构。

到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。

六、POJO :(Plain Old Java Objects),简单的Java对象

实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接.其中有一些属性及其getter、setter方法的类,有时可以作为value object或dto(Data Transform Object)来使用。

当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。

PO、VO、DAO、BO、DTO、POJO区别相关推荐

  1. java的几种对象(PO,VO,DAO,BO,POJO)解释

    本文转自: http://blog.csdn.net/bzhxuexi/article/details/8227808 Java的几种对象(PO,VO,DAO,BO,POJO)解释   一.PO:pe ...

  2. java的几种对象(PO,VO,DAO,BO,POJO)解释(转)

      [ 作者:赵小刀 ][ 大小:1k ][ 发布日期:2005-08-22 ][ 浏览:8678 ]      java的几种对象(PO,VO,DAO,BO,POJO)解释      一.PO:pe ...

  3. java vo对象转bo对象_java的几种对象(PO,VO,DAO,BO,POJO)解释(转)

    PO:persistant object持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合. PO中应该不包含任何对数据库 ...

  4. 【spring】PO,VO,DAO,BO,POJO,Bean之间的区别与解释

    VO value object:值对象 通常用于业务层之间的数据传递,由new创建,由GC回收. PO persistant object:持久层对象 对应数据库中表的字段. VO和PO,都是属性加上 ...

  5. java bo对象_java的几种对象(PO,VO,DAO,BO,POJO,DTO)解释

    PO PO(Persistant Object)可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操 ...

  6. PO,VO,DAO,BO,POJO 之间的区别你懂吗?

    VO value object:值对象. 通常用于业务层之间的数据传递,由new创建,由GC回收. PO persistant object:持久层对象. 对应数据库中表的字段.VO 和 PO 都是属 ...

  7. PO,VO,DAO,BO,POJO之间的区别与解释

    VO value object:值对象 通常用于业务层之间的数据传递,由new创建,由GC回收. PO persistant object:持久层对象 对应数据库中表的字段. VO和PO,都是属性加上 ...

  8. java 的几种对象 (PO,VO,DAO,BO,POJO) 解释

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象 ...

  9. java 数据对象_java的几种对象(PO,VO,DAO,BO,POJO)

    一.PO persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数 ...

  10. 区分PO,VO,DAO,BO,POJO

    VO value object:值对象. 通常用于业务层之间的数据传递,由new创建,由GC回收. PO persistant object:持久层对象. 对应数据库中表的字段.VO 和 PO 都是属 ...

最新文章

  1. CSS3关于过渡效果的问题
  2. TensorFlow基础9-多层神经网络
  3. Recommended Journals for MPhil degree at Business Model Innovation Group
  4. convirt2.5在虚拟机上安装笔记
  5. js 让浏览器全屏模式的方法launchFullscreen
  6. html 响应式布局 九宫格,两种方法实现响应式九宫格布局
  7. iOS - OC SQLite 数据库存储
  8. Linux下查看CPU使用率 --- top命令的使用
  9. mysql 闪回查询 sql_利用闪回查看Oracle表历史时刻数据
  10. Git ~ 添加远程仓库 ~Git
  11. idea添加自动编译
  12. 开源MySQL数据传输中间件—DTLE
  13. face landmark 人脸特征点检测
  14. 【PC工具】windows免安装录屏绿色软件,无需注册无水印绿色录屏软件
  15. GameFramework框架 (一) 框架简介
  16. 操作系统进程线程区别、并发和并行、内存和外存
  17. PHP 图片木马隐写方法及靶机演示
  18. ubuntu conda、pip 设置代理
  19. 吴恩达-目标检测讲解笔记
  20. indexedDB介绍

热门文章

  1. Mac使用hsdis查看java字节码的汇编命令
  2. SystemUI 人脸识别解锁后指纹消耗次数并没有清除
  3. ubuntu输入法篇
  4. 将一个excel表格的数据匹配到另一个表中
  5. 五菱大疆怎么造出了Kiwi大疆版?
  6. android8.1APP更新时出现安装包解析异常的提示
  7. 玩转数据恢复之R-Studio的使用常见问题解答
  8. Android图灵聊天机器人-薇尔莉特
  9. 徐进的信念:中小服装企业管理要提升,完善和优化岗位职责说明书是第一步
  10. hdfs上文件常用命令