首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编程小知识【java-0001】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表,以此表为例:

PO/DO/Entity就是DAO操作的对象,一般直接写User

DAO层提供了CRUD的接口

service层是做业务逻辑处理的,比如查询接口,根据userId调用DAO层获取User信息,之后做一次数据裁剪,只取业务字段,例如自增id、数据库记录创建时间等非业务字段不取,获取一个UserDTO,然后查询用户档案相关的ProfileDTO,组装成ProfileBO,作为档案领域模型

业务层从service 层拿到这个BO,对BO做一个视图转化,转成VO视图对象,提供给前端负责展示

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230531A0540000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券