Java POJO、DTO、PO、BO、VO、DAO

一、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 等结合使用。

Categories:

Tags:

No Responses

发表回复

您的电子邮箱地址不会被公开。