美文网首页
对Java的常用对象(POJO、DAO、DTO、PO、BO、VO

对Java的常用对象(POJO、DAO、DTO、PO、BO、VO

作者: 元瑞科技 | 来源:发表于2019-05-15 14:53 被阅读0次

首先这些对象都应用都是一些单词的简称,也是一种应用思想,故其他语言也可以使用,在 Java  里比较常见这些对象吧。下面来一一解释。

一、POJO(Plain Ordinary Java Object),简单无规则java对象

简单而言,就是一个简单的对象,而且没有任何规则约束。有的时候拿 POJO  来泛指用来做传输对象Java bean (包括今天要介绍的 DTO  VO  BO  PO  等)也是可以的。

二、DAO(Data Access Object),数据访问对象

通常是和数据层打交道的最后一层,通过 DAO  对数据库做识别操作,最终返回我们想要的数据。通常和我们的 PO  BO  等基础类型,如List 、Map 等结合使用。

三、DTO(Data Transfer Object),数据传输对象

单纯用来数据传输的对象。我们有的项目又分InDto 和OutDto ,顾名思义就是输入和输出的 Dto 

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

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

但是我们界面上只要显示10个字段,

客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,

这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO

四、PO(Persistant Object)持久对象

在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理,可以看成是与数据库中的表相映射的java对象。

最简单的 PO  就是对应数据库中某个表中的一条记录,多个记录可以用 PO  的集合。 PO  不包含业务逻辑和数据逻辑。就是一个Entity 或者说ModelEntity 。

PO中应该不包含任何对数据库的操作。

五、BO(Business Object),业务对象

我经常使用的一个,它是和业务挂钩的,简单来说,我们每个业务可能需要很多 PO  (数据库表)来组成,而我们返回前端页面或者返回给调用方的时候,我们需要组合。而这个时候, BO  就派上用场了,它就是一个对 PO  的组合,也可以就是 PO  ,只是出发点是满足业务的传输对象。可以组合PO、VO。

六、VO(Value Object),值对象

其实和 BO  DTO  PO  差不多,只是更形象化了, VO  更简单,没有任何思想,就是一个传输对象。

相关文章

网友评论

      本文标题:对Java的常用对象(POJO、DAO、DTO、PO、BO、VO

      本文链接:https://www.haomeiwen.com/subject/kdvpaqtx.html