vo,po,pojo,dto区别

本文详细介绍了Java中常见的四种对象类型:POJO、VO(View Object)、PO(Persistent Object)和DTO(Data Transfer Object)。POJO作为DO/DTO/BO/VO的统称,而VO主要用于前端展示,与服务端Controller交互;PO则与数据库表结构一一对应,代表数据库记录;DTO则用于Controller和Service层之间的数据传输。VO和DTO的主要区别在于字段和值的不同,VO会根据展示需求调整字段并解释DTO中的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:POJO(Plain Old Java Object)

POJO 可认为是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO。

二:VO(View Object)

视图对象,用于展示层,用于在Web页面上展示

VO通常用于前端和服务端Controller交互。

三:PO(Persistent Object)
持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。

PO就是数据库中的记录,一个PO的数据结构对应着库中表的结构,表中的一条记录就是一个PO对象
通常PO里面除了get,set之外没有别的方法。

对于PO来说,数量是相对固定的,一定不会超过数据库表的数量

四:DTO(Data Transfer Object)数据传输对象
数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。

DTO通常用于Controller和Service交互。

VO和DTO的区别

主要有两个区别

  1. 一个是字段不一样,VO根据需要会删减一些字段。
  2. 另一个是值不一样,VO会根据需要对DTO中的值进行展示业务的解释。

参考:

浅析VO、DTO、DO、PO、POJO区别_骑个小蜗牛的博客-优快云博客_pojo vo dto

        


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值