最近接触公司的 java 项目,发现大家对 vo、po、dto、bo、pojo、dao、entity 使用比较乱,所以这里简单整理下。
用于业务之间的数据传输,和 PO 一样只包含数据和对应的 getter 和 setter,可以和数据库中字段对应也可以不对应。
PO 对应于数据库中的一张表,字段和表字段一一对应,PO 只包含数据和对应的 getter 和 setter 函数。在使用中 PO 用来表示数据库查询结果的一条记录,多条记录使用 PO 的集合表示。
DTO 用于表示远程接口调用时的数据传输,比如请求参数存放到 RequestDTO 中,DTO 一般和表中的 PO 的字段一一对应,但是 DTO 不必要包含 PO 中的所有数据,根据具体的业务逻辑决定。对于 RequestDTO 也可以使用一个 ResponseDTO 来表示查询结果返回(多个返回时使用 ResponseDTO 集合表示)。
PO 对应一张数据库的表,而再实际的业务场景中一个业务对象并不能只是用一张表表示,而是由多张表组成。比如订单表包含:订单基础信息、订单商品信息、地址信息、快递信息等,BO 可用来表示该订单业务对象。
POJO 表示一个简单的 javabean,只包含数据和 getter 和 setter 函数没有具体的业务逻辑。
DAO 是一个面向对象的数据库操作对象,为业务提供操作数据的接口即各种 CURD。
entity 一般再 ORM 框架中表示一个表单条记录的实体,和 PO 同样的意思。
非著名程序员,全栈开发工程师,长期专注系统开发与架构设计。
功能待开通!