JAVA 中的 POJO、PO、VO、DTO、DAO、QO、BO、JavaBean

1,577 阅读2分钟

POJO

POJO (Plain Ordinary Java Object) 简单的Java对象

名字强调它是一个普通的java对象。

  • POJO 只有 private 属性以及这个属性的 public 的 get 和 set 方法,只能装载数据,也不能实现接口。
  • POJO不是JavaBean,不承担任何特殊的角色,也不实现任何接口。

PO

PO (Persistent Object) 持久化对象,是与数据库中表相对应的java对象。

也有喜欢人用 entity、model 等名称来表示

VO

VO (Value Object) 值对象。用于业务层之间的的数据传递,或者对应于页面上需要显示的数据。

DTO

DTO (Data Transfer Object) 数据传输对象。有时候我们仅仅需要获得某一个表的几个字段 ,所以此时可以用DTO存储这几个字段。

DAO

DAO (Data Access Object) 数据访问对象。此对象用于访问数据库,通常和 po 结合使用。

DAO 中包含了各种数据库的操作方法,通过这些方法,结合 PO 对数据库进行相关的操作

因为我一般选 myatis 作 orm 框架,所以我习惯把 DAO 层取名 mapper,不知道这样是否符合规范,不过我也开始试图改掉这个习惯

JavaBean

JavaBean 是一个遵循特定写法的Java类,它的方法命名,构造及行为必须符合特定的约定:

  1. 这个类必须具有一个 public 无参构造函数
  2. 所有属性必须是 private
  3. 私有化的属性必须通过 public 类型的方法(getter和setter)暴露给其他程序,并且方法的命名也必须遵循一定的命名规范。
  4. 这个类必须是可序列化的,用于实现 bean 的持久性。比如可以实现 Serializable 接口

QO

QO (Query object) 查询对象,一般用于封装查询参数。

BO

BO (Business Object) 业务对象。主要作用是把业务逻辑封装为一个对象,这个对象可以包括一个或多个其它的对象。

更多人喜欢用 service 来表式业务对象