JAVA entity、vo、dto简单理解

VO(View Object):视图对象,用于页面展示层,它的作用是把某个指定页面(或组件)的数据封装起来,传输到前端页面上。

DTO(Data Transfer Object):数据传输对象,主要用于展示层与服务层之间的数据传输。
是一种设计模式之间传输数据的软件应用系统,数据传输目标往往是数据访问对象从数据库中检索数据
数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具任何行为除了存储和检索的数据(访问和存取器)
简而言之,就是接口之间传递的数据封装
比如我们一张表有100个字段,那么对应的PO就有100个属性。但是我们界面上只要显示10个字段,客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,这时我们就可以用只有这10个属性的DTO来传递结果到客户端
DTO由此产生,一是能提高数据传输的速度(减少了传输字段),二能隐藏后端表结构

entity里的每一个字段,都要与数据库相对应。

JAVA entity、vo、dto简单理解_第1张图片

2.例子

假如我们的前端页面存在三个字段,name,password,和age

然后数据库表里,有两个字段,name,pass(这时候没有age),则我们的vo里是肯定会存在下面几个字段的:

private string name;

private string pass; 

private string age;

但是在这个时候,我们的entity里面,就应该有两个字段(因为对应数据库表中的2个字段)

private string name;

private string pass;

如果我们有一个这样的需求:年龄大于50的才能存入数据库

这个时候,你就要用到dto了

当我们从前端页面上面拿到vo,然后判断vo中的age是不是大于50,如果大于50,就把vo中的

name和pass拿出来,放到dto中,然后在把dto中的name和pass原封不动的赋值给entity,然后根据

entity的值,在传入数据库,我想这个时候你就明白他们的区别了,dto是entity到vo,或者vo到entity的中间过程。
 

你可能感兴趣的:(Java,java)