PO,VO,BO,POJO,DAO的区别



基本概念



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

VO:value object (值对象)。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。

BO:business object (业务对象),封装业务逻辑的java对象,通过调用DAO方法,结合PO、VO进行业务操作。

POJO:plain old java object (简单无规则java对象),我个人觉得它和其他不是一个层面上的东西,VO和PO应该都属于它。

DAO:data access object (数据访问对象),此对象用于访问数据库。通常和PO结合使用,DAO中包含了各种数据库的操作方法。通过它的方法结合PO对数据库进行相关的操作。



深入理解



PO(persistant object 持久化对象。就是一个PO就是数据库中的一条记录。

优点:可以把一条记录作为一个对象处理,可以方便的转为其它对象。

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

优点:该对象可以包括一个或多个其它的对象。

eg:

比如一个简历,有教育经历、工作经历、  关系等等,我们可以把教育经历对应一个PO,工作经历对应一个PO,  关系对应一个PO。

建立一个对应简历的BO对象处理简历,每个BO包含这些PO。

这样处理业务逻辑时,我们就可以针对BO去处理。

VO (value object视图对象。用于ViewObject表现层。

优点:对象主要对应界面显示的数据对象。对于一个WEB页面,或者SWT、SWING的一个界面,用一个VO对象对应整个界面的值(封装数据)。

DTO (Data Transfer Object数据传输对象。

优点:主要用于远程调用等需要大量传输对象的地方。

eg:

比如我们一张表有100个字段,那么对应的PO就有100个属性。

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

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

POJO (plain ordinary java object简单java对象。是一个中间对象,也是最常打交道的对象。

优点:一个POJO持久化以后就是PO、直接用它传递、传递过程中就是DTO、直接用来对应表示层就是VO。

DAO(data access object数据访问对象。通过它可以把POJO持久化为PO,用PO组装出来VO、DTO。

原文地址:https://www.cnblogs.com/lhns/p/9028425.html

时间: 2024-07-28 21:19:48

PO,VO,BO,POJO,DAO的区别的相关文章

PO VO BO DTO POJO DAO(转)

2EE开发中大量的专业缩略语很是让人迷惑, 特别是对于刚毕业的新人来说更是摸不清头脑.若与公司大牛谈技术人家出口就是PO VO BO DTO POJO DAO 等,让新人们无比仰慕大牛. PO(bean,entity等命名):persistant object持久对象,数据库表中的记录在java对象中的显示状态最形象的理解就是一个PO就是数据库中的一条记录.好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. BO(service,manager,business等命名): busin

PO BO VO DTO POJO DAO概念及其作用

J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋友会会心一笑). 首先声明偶也不是什么高手,以下总结都是自己的体会.不对之处请您多指教. PO: persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录. 好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. BO: business object业务对

PO BO VO DTO POJO DAO 概念及其作用

PO BO VO DTO POJO DAO 概念及其作用(附转换图) 博客分类: java javadaovopojobo J2EE开发中大量的专业缩略语很是让人迷惑, 特别是对于刚毕业的新人来说更是摸不清头脑.若与公司大牛谈技术人家出口就是PO VO BO DTO POJO DAO 等,让新人们无比仰慕大牛. 为了让新人快速成为牛人,今天我详细的为大家介绍这些专业名词.   企业级项目实战(带源码)地址:  http://zz563143188.iteye.com/blog/1825168 收

Java中几种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)

一.j2ee中,经常提到几种对象(object),理解他们的含义有助于我们更好的理解面向对象的设计思维. ORM是Object Relational Mapping[对象关系映射]的缩写 通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/RMapping的世界里, 有一系列的重要对象,常见的有VO,PO,DTO,POJO,DAO,BO. 1.Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分 (一).POJO(

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

阅读目录 1.DAO[data access object]数据访问对象 2.DTO[data transfer object]数据传输对象 3.PO[persistant object]持久层对象 4.BO[bussiness object]业务对象 5.VO[value object]值对象 4.POJO[plain ordiary java object] 简单java对象 佩服能将复杂难懂的技术,抽象成简单易懂事物的人. 厌恶将简单易懂的技术,添加一堆专业术语将别人弄的头晕目眩的人. P

Java中DAO/DTO/PO/VO/BO/QO/POJO

ORM:是Object Relational Mapping(对象关系映射)的缩写. 通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/R/M的世界里,有两个基本的也是重要的东东需要了解,即 VO , PO . PO:(Persistant Object ),持久对象 可以看成是与数据库中的表相映射的Java对象.使用Hibernate来生成PO是不错的选择.它们是由一组属性和属性的get和set方法组成. 最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合

Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分

PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数据库表里面的某个字段.完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法.持久对象是由insert数据库创建,由数据库delete删除的.基本上持久对象生命周期和数据库密切相关. VO:值对象(Value Object),通常用于业务层之间的数据传递,和PO一样也是仅仅包含

JSP PO VO BO DTO POJO DAO解释

PO :persistent object持久对象 1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录.2 .在hibernate持久化框架中与insert/delet操作密切相关. 3 .PO中不应该包含任何对数据库的操作. --------------------------------------------------------- POJO :plain ordinary java object 无规则简单java对象 一个中间对象,

PO,VO,BO,DTO,POJO(POCO),DAO的区别(转载)

PO:persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录.好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. BO:business object业务对象 主要作用是把业务逻辑封装为一个对象.这个对象可以包括一个或多个其它的对象.比如一个简历,有教育经历.工作经历.社会关系等等.我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO.建立一个对应简历的BO对象处理简历,每个BO包含这些PO.这样处理业务逻辑时,我们就可以针对