龙空技术网

java开发中PO、DO、DTO、BO、VO等区别及使用

退役程序员老马 34

前言:

目前各位老铁们对“java项目vo”可能比较珍视,我们都想要剖析一些“java项目vo”的相关知识。那么小编同时在网摘上收集了一些对于“java项目vo””的相关知识,希望同学们能喜欢,大家快快来学习一下吧!

#头条创作挑战赛#

PO(Persistant Object)持久对象 / DO(Data Object)数据对象/ Entity 实体

这些对象与数据库表结构对应,表中的一条记录就是一个PO/DO/Entity对象

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

数据传输对象,service向外传输的对象

BO(Business Object)业务对象

可以由service层输出的封装业务逻辑的对象

Query 数据查询对象

各层接收上层的查询请求

VO(View Object)显示层对象

显示层对象,通常是 Web 向模板渲染引擎层传输的对象

DAO(Data Acess Object)数据访问对象

封装对数据库的访问,常规的增删改查(CRUD操作)都通过DAO来实现

假设数据库中有一张user表,以此表为例:

PO/DO/Entity就是DAO操作的对象,一般直接写UserDAO层提供了CRUD的接口service层是做业务逻辑处理的,比如查询接口,根据userId调用DAO层获取User信息,之后做一次数据裁剪,只取业务字段,例如自增id、数据库记录创建时间等非业务字段不取,获取一个UserDTO,然后查询用户档案相关的ProfileDTO,组装成ProfileBO,作为档案领域模型业务层从service 层拿到这个BO,对BO做一个视图转化,转成VO视图对象,提供给前端负责展示

标签: #java项目vo #javaweb do