对Java的常用对象(POJO、DTO、PO、BO、VO、DAO)详细解释及应用场景

转自 : https://www.sojson.com/blog/114.html



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

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

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

持久对象,可以看成是与数据库中的表相映射的 Java  对象。最简单的 PO  就是对应数据库中某个表中的一条记录,多个记录可以用 PO  的集合。 PO  不包含业务逻辑和数据逻辑。就是一个Entity 或者说 ModelEntity 。
四、BO(Business Object)

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

值对象,其实和 BO  、 DTO  、 PO  差不多,只是更形象化了, VO  更简单,没有任何思想,就是一个传输对象。
六、DAO(Data Access Object)

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

上一篇:ssm使用全注解实现增删改查案例——EmpMapperImpl


下一篇:ssm使用全注解实现增删改查案例——DeptMapperImpl