java项目中VO和DTO以及Entity,各自是在什么情况下应用的

作者&投稿:禄翰 (若有异议请与网页底部的电邮联系)
如何理解《阿里巴巴Java开发手册》中提到的 DO/DTO/BO/VO/QUERY~

PO(persistant object) 持久对象
在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了。通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合。 PO 中应该不包含任何对数据库的操作。
DO(Domain Object)领域对象
就是从现实世界中抽象出来的有形或无形的业务实体。一般和数据中的表结构对应。
TO(Transfer Object) ,数据传输对象
在应用程序不同 tie( 关系 ) 之间传输的对象
DTO(Data Transfer Object)数据传输对象
这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。
VO(view object) 视图对象
视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
BO(business object) 业务对象
从业务模型的角度看 , 见 UML 元件领域模型中的领域对象。封装业务逻辑的 java 对象 , 通过调用 DAO 方法 , 结合 PO,VO 进行业务操作。 business object: 业务对象 主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。 比如一个简历,有教育经历、工作经历、社会关系等等。 我们可以把教育经历对应一个 PO ,工作经历对应一个 PO ,社会关系对应一个 PO 。 建立一个对应简历的 BO 对象处理简历,每个 BO 包含这些 PO 。 这样处理业务逻辑时,我们就可以针对 BO 去处理。
POJO(plain ordinary java object) 简单无规则 java 对象
纯的传统意义的 java 对象。就是说在一些 Object/Relation Mapping 工具中,能够做到维护数据库表记录的 persisent object 完全是一个符合 Java Bean 规范的纯 Java 对象,没有增加别的属性和方法。我的理解就是最基本的 Java Bean ,只有属性字段及 setter 和 getter 方法!。
DAO(data access object) 数据访问对象
是一个 sun 的一个标准 j2ee 设计模式, 这个模式中有个接口就是 DAO ,它负持久层的操作。为业务层提供接口。此对象用于访问数据库。通常和 PO 结合使用, DAO 中包含了各种数据库的操作方法。通过它的方法 , 结合 PO 对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。配合 VO, 提供数据库的 CRUD 操作
QUERY(query)查询对象

一般是封装了查询条件的对象。
满意请采纳,谢谢。

模型Model和DTO/VO的区别

在EJB应用中,经常会需要传输数据,所以我们需要DTO模式,但是在系统还没有复杂到一定程度时,我们碰到的基本是Model,是Model作为DTO,比如一个数据对象Product的增删改查,Session Bean传递给实体Bean的Product用来保存数据库,这个Product是一个Model,同时又是一个DTO。

那么我们在系统开始时,是以Model开始还是以DTO开始?

当然应该是Model,Model能够反应应用系统的很多本质,如果都使用DTO,将为了传输数据而组合一个对象,结果这个DTO对象的属性可能很混乱,最后在界面实现时或后台实现时,常常为这个DTO对象缺少一两个字段而烦恼。

以Model为驱动符合MDA思想,可以非常方便地实现整个复杂J2EE系统。

你好,按照标准来说:

1、entity里的每一个字段,与数据库相对应,

2、dto里的每一个字段,是和你前台页面相对应,

3、VO,这是用来转换从entity到dto,或者从dto到entity的中间的东西。



DTO
Data Transfer Object数据传输对象
应用场景:
主要用于远程调用等需要大量传输对象的地方。
比如我们一张表有100个字段,那么对应的PO就有100个属性。
但是我们界面上只要显示10个字段,
客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,
这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO

Entity 实体
实体bean ,一般是用于ORM 对象关系映射 ,一个实体映射成一张表,一般无业务逻辑代码。
如果是简单的java对象就是pojo,如果进行了持久化有了orm映射以后就是po。
po的作用简单的说就是将数据库中的表映射成java对象,就是属性对应数据库字段。

VO

主要对应界面显示的数据对象。对于一个WEB页面,或者SWT、SWING的一个界面,用一个VO对象对应整个界面的值。
比如在某页面上需要显示很多数据,但是一个po搞不定,这是你就可以自己定义Vo去处理了。


你抄别人的?是说那个被采纳的回答……


JavaBean,POJO,VO,DTO的区别和联系
它不包含业务逻辑或持久逻辑等,但不是JavaBean、EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。POJO对象有时也被称为Data对象,大量应用于表现现实中的对象。一个POJO持久化以后就是PO。直接用它传递、传递过程中就是DTO 直接用来对应表示层就是VO ...

javaweb开发中有servlet,model,po,vo,dao,daoimpl的属于什么框架_百度...
在o\/r 映射的时候出现的概念,如果没有o\/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表 相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作.VO(value object...

vo java 解释
VO:View Object,指的是视图与JavaBean等Object的映射关系。主要使用场景,如前台页面数据列表显示,整个列表就可以用View sql查出数据,用VO来封装,以VO对象的方式来做一些联合查询、排序等操作。优点:由于VO就是一个业务概念,所以对于程序员来说易于理解;从编程的角度来说,便于业务封装。

java中vo与po的转换
不OO也不代表不是面向对象 面向对象也不一定非得OO 你可以把PO当VO用 因为一些小的 不容易改变的程序里 直接用PO还是很省事的 没有标准的界限 规范是规范 但不要阻碍自己的想法 不过我还是把它们分开的 说来说去也就是为了松耦合 也有VO到BO BO到PO 都不一样 在DAO中我想应该是针对PO的 ...

关于java po vo
楼主,你好 说说我的经验吧 vo 一般都string...po 一般都和数据库类型一致...当vo和po数据类型不一致的时候...再创建一个formvo,用来转换vo类型,再将formvo数据存到po里...运用框架的精髓就是 业务分层...希望我的回答对你有所帮助

java包名的约定,如Dao,vo,之类,谁能告诉我尽量多的这些约定啊?_百度...
封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。 POJO(plain ordinary java object) 简单无规则java对象纯的传统意义的java对象。就是说在一些Object\/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。我的理解就...

vo前缀是什么意思?
例如,在Java程序中,vo对象通常用于封装数据库的返回结果,例如查询语句和存储过程。此外,在Spring框架中,vo对象也常用于在不同层之间进行数据的传输。而在Android应用程序中,vo对象通常用于与服务器进行数据交互,例如处理RESTful API请求与响应等。总的来说,vo对象不仅在项目中扮演了重要角色,同时也...

vo bo po 分别代表什么
从业务模型的角度看,见UML元件领域模型中的领域对象。封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。PO(persistant object) 持久对象 在o\/r映射的时候出现的概念,如果没有o\/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中...

java 中什么是VO ,简要说明它的作用(求助大神啊)
vo层是从前台接收数据用的,比如用户在页面输入用户名,密码等信息,通过vo层传递到后台,然后去验证。主要是传输数据。

pojo类和vo类分别是什么
1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。2 .在hibernate持久化框架中与insert\/delet操作密切相关。3 .PO中不应该包含任何对数据库的操作。POJO :plain ordinary java object 无规则简单java对象 一个中间对象,可以转化为PO、DTO、VO。1 ....

新丰县13313515518: java项目中VO和DTO以及Entity,各自是在什么情况下应用的? -
其詹拉米: 你好,按照标准来说: 1、entity里的每一个字段,与数据库相对应, 2、dto里的每一个字段,是和你前台页面相对应, 3、VO,这是用来转换从entity到dto,或者从dto到entity的中间的东西.举个例子:你的html页面上有三个字段,name...

新丰县13313515518: JavaBean,POJO,VO,DTO的区别和联系 -
其詹拉米: JavaBean 是一种JAVA语言写成的可重用组件.为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器.JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性.众所周知,属性名称符合这种模式,其他...

新丰县13313515518: vobopo分别代表什么java里面的vo,bo,po分别代表什么意思? 详细解释一下,谢谢先! -
其詹拉米:[答案] VO(valueobject)值对象 通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已.但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递. BO(businessobject)业务对象 ...

新丰县13313515518: javabean与vo有什么区别?? -
其詹拉米: vo (value object)他是一个值对象 是由pojo+xml配置文件组成的(pojo古老的java对象只有getter和setter方法)xml是他对应的一些字段的映射vo一般都是用在数据持久上面的 你注意看许多的持久框架都是使用到了vo javaBean就多咯.....只要是个java类基本上都可以称为javaBean

新丰县13313515518: 在java中dto,bo,pojo,po是什么,简单说明 -
其詹拉米: DTO (Data Transfer Object)数据传输对象:主要用于远程调用等需要大量传输对象的地方. BO(business object) 业务对象:从业务模型的角度看,见UML元件领域模型中的领域对象.封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进...

新丰县13313515518: 什么是po,vo,pojo,dto,dao -
其詹拉米: dao就是数据访问对象,pojo说简单点就是一个java的类,没啥的

新丰县13313515518: 使用java开发一个web程序.用到JSP页面,dao,dto,exception,init,service,action,form和struts框架 -
其詹拉米: 首先是一个有表单元素的页面 用户通过输入完成表单 点击提交,因为是struts1所以先是把用户表单里输入的数据通过struts配置文件存到相应的form 然后action从form取到用户输入的值,并通过这些值来调用service里的方法,service则是调用dao里的方法并做业务逻辑处理,而dao就是基本JDBC的增删改查语句在通过struts配置文件转到指定的JSP页面(这个是流程).然后dto是数据传输对象, exception是你程序中一些地方的代码出问题后所出现的异常 至于init是你的action在掉用方法之前的程序默认的方法,(就是指定servlet掉doget或dopost方法)

新丰县13313515518: 做java项目需要学习哪些知识点才行? -
其詹拉米: 1、linux操作系统:java最主要的应用就是服务器端编程,而linux是当前使用最广泛的服务器操作系统,熟悉linux技能的java工程师将更受企业欢迎. 2、数据库技术:当前企业和互联网应用都离不开数据库技术,往往在一个大中型的java应用项目中,数据库设计是否良好、数据库访问是否高效直接决定了项目的成败. 3、企业级框架:java是组件和框架的世界,对于所有的java程序员来说,java框架都是必须要掌握的. 希望能够帮助到你!!望采纳

新丰县13313515518: 如何在eclipse中新建java工程 -
其詹拉米: 首先,新建一个工程(“File”》“new”》“Project”;然后,要创建一个包(在工程上的“右键”》“新建”》”Package“;最后,就可以建一个类(“对应的包上点击右键》”new“》”class“).

新丰县13313515518: 关于JAVA项目中相对路径和绝对路径的表示
其詹拉米: 相对路径 ..\aa\\bb 绝对路径 C:\aa\bb .代表当前路径 ..表示上一级 \就相当于双击 我是这么理解的

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网