四时宝库

程序员的知识宝库

java开发中PO、DO、DTO、BO、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表,以此表为例:

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

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接