关于JAVA Bean实体类对象pojo,vo,po,dto,entity之间的区别:
Pojo:
Pojo 普通的java对象 最基本的javaBean只有属性 加上属性的get,set方法,可以转化为PO,DTO,VO;比如说POJO在传输过程中就称为DTO;
Vo:
value object:值对象
通常用于业务层之间的数据传递,由new创建,由GC回收
和PO一样也是仅仅包含数据而已,但应是抽象出的业务对象,可以和表对应,也可以不是
Po:
persistant object:持久层对象
是ORM(Objevt Relational Mapping)框架中Entity,PO属性和数据库中表的字段形成一一对应关系
VO和PO,都是属性加上属性的get和set方法;表面看没什么不同,但代表的含义是完全不同的
DTO:
data transfer object:数据传输对象
是一种设计模式之间传输数据的软件应用系统,数据传输目标往往是数据访问对象从数据库中检索数据
数据传输对象与数据交互对象或数据访问对象之间的差异是一个以不具任何行为除了存储和检索的数据(访问和存取器)
简而言之,就是接口之间传递的数据封装
表里面有十几个字段:id,name,gender(M/F),age……
页面需要展示三个字段:name,gender(男/女),age
DTO由此产生,一是能提高数据传输的速度(减少了传输字段),二能隐藏后端表结构

Entity与vo,dto之间的关系:
1、entity 里的每一个字段,与数据库相对应,

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

3、dto 这是用来转换从 entity 到 vo,或者从 vo 到 entity 的中间的东西 。(DTO中拥有的字段应该是entity中或者是vo中的一个子集)

举个例子:

你的html页面上有三个字段,name,pass,age

你的数据库表里,有两个字段,name,pass , 注意没有 age。

而你的 vo 里,就应该有下面三个成员变量 ,因为对应 html 页面上三个字段 。

private string name;

private string pass;

private string age;

这个时候,你的 entity 里,就应该有两个成员变量 ,因为对应数据库表中的 2 个字段 。

private string name;

private string pass;

到了这里,好了,业务经理让你做这样一个业务“年龄大于 20 的才能存入数据库,这个时候,你就要用到 dto 了,

1)你要先从页面上拿到 vo,然后判断 vo 中的 age 是不是大于 20。

2)如果大于 20,就把 vo 中的 name 和 pass 拿出来,放到 dto 中。

3)然后在把 dto 中的 name 和 pass 原封不动的给 entity,然后根据 entity 的值,在传入数据库。

这就是他们三个的区别。

PS: dto 和 entity 里面的字段应该是一样的,dto 只是 entity 到 vo,或者 vo 到 entity 的中间过程,如果没有这个过程,你仍然可以做到增删改查,这是根据具体公司规范来的 。

关于JAVA Bean实体类对象pojo,vo,po,dto,entity之间的区别相关推荐

  1. Java 判断实体类对象的全部属性是否空

    代码: public boolean checkObjAllFieldsIsNull(Object object) {// 如果对象为null直接返回trueif (null == object) { ...

  2. java获取实体类对象_java 获取实体类对象属性值的方法

    在java中我们要获得实体类对象的属性,一般情况是将实体类中的属性私有化,然后再对外提供get()与set()方法,然后再获取实体类对象的属性的时候先把对象new出来,再用变量名.get()的方法得到 ...

  3. 四种实体类类型:VO、DTO、DO、PO

    在项目应用中,VO对应于页面上需要显示的数据(表单),DO对应于数据库中存储的数据(数据表),DTO对应于除二者之外需要进行传递的数据. 一.实体类 百度百科中对于实体类的定义如下: 实体类的主要职责 ...

  4. 将JAVA bean/实体类 中为null的属性值转换成空字符串

    使bean中为null的属性转换成空字符串 获得getter方法 方法有分带参数和不带参数,我们知道getter方法是不带参数的 获得getter方法如下 Method m = model.getCl ...

  5. POJO VO PO DTO 和JavaBean

    最近在阿里手册的是突然看见PO,VO等名词发现自己还没有一个清晰的概念所以做了一些笔记. 我 给这些概念画了个关系图. pojo 为了和EJB区分而生的.就是一个简单的java对象也就是在构建这个类的 ...

  6. c语言中的typedef struct相当于java的一个类?,C ++中'struct'和'typedef struct'之间的区别?...

    在C ++中,之间有什么区别: struct Foo { ... }; 和 typedef struct { ... } Foo; #1楼 您不能对typedef结构使用forward声明. stru ...

  7. JSON字符串封装成Bean对象/JSON串反序列化成实体类对象/JSON字符串转换成Java对象

    文章目录 使用阿里巴巴的 JSON 使用 ObjectMapper JSON字段与实体类属性不一致 首先,我们建立一个实体类,这里简单定义了 name.sex.age 三个属性,以及 get.set. ...

  8. Xml转Java实体类对象 xml转Javabena 对象 且多级嵌套 复杂嵌套

    最近在做企微开发,遇到了一个比较复杂的xml然后要去我将xml转成实体类 xml如下 <xml><ToUserName><![CDATA[toUser]]>< ...

  9. java xml 实体类_java中的xml与实体类之间的映射

    实体类: package xml; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class User ...

最新文章

  1. tomcat mysql 中文乱码_tomcat 中文乱码, mysql 中文乱码_MySQL
  2. Hadoop学习笔记之三 数据流向
  3. os.path.dirname(path) 返回文件的绝对路径
  4. RabbitMq的学习(一):VirtualHost
  5. 最常见的20种VC++编译错误信息
  6. C语言的运算符的优先级与结合性+ASCII表
  7. 云原生时代,谁是容器的最终归宿?
  8. android NullPointerException (转)
  9. [Teamcenter 2007 开发系列] web 非空验证
  10. Oracle iops升高查看,一则简单的磁盘的iops测试
  11. floyd算法MATLAB实现
  12. 简单的UDP监听需要打开w网路岗才能接收到数据的原因和解决办法
  13. 一天入门Tableau详细教程(上)
  14. Centos7与Windows查看硬盘序列号
  15. Unity关节的使用和举例,布娃娃系统
  16. 免手机验证码网站备案
  17. 入门C语言编程植树问题,亏损率的公式—(-圆位置排序c程序-数学-封巧及同学
  18. 【数据库和SQL学习笔记】6.SELECT查询4:嵌套查询、对查询结果进行操作
  19. Java基础知识——IO流
  20. Android获取手机设备识别码(IMEI)和手机号码

热门文章

  1. 《改变你一生的108个心理学法则》读书笔记
  2. Myeclipse2014 安装插件提示:cannot perform operation.Computing alternate solutions,may take a while:解决方法
  3. git-报错总结-fatal: 'origin' does not appear to be a git repository...
  4. 制作适用于ZYNQ(ARM平台)的Ubuntu系统
  5. 零基础如何入门网络工程师?12年资深大佬,吐血整理最强学习指南
  6. java 滚动条的事件_[Java教程]jquery如何判断滚动条滚到页面底部并执行事件
  7. 心电图多少为正常范围_心电图的检查正常值是多少呢?
  8. 字符串 - 二进制和文本字符串 - 探究
  9. 分享10个网管必备的日志分析工具
  10. (个人)VR实时交互的太极拳学习系统创新实训第七周(2)