PO、VO、DTO

2024-08-30 16:12
文章标签 po vo dto

本文主要是介绍PO、VO、DTO,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

不知道有没有和我一样的职场新人小白有这样的疑惑,为什么一个实体类要有po、vo、dto,分这么多层有必要吗?我之前做项目的时候也接触到了这些分层,今天想写一篇来谈谈我对其的理解。

一. POJO

首先先认识一下POJO,POJO是指普通的Java对象,是一个简单的Java类,通常没有实现特定的接口或继承特定的类。POJO的涉及原则是简单、普通、存粹的Java对象。

POJO对象通常用于封装数据,包含私有字段和公共的getter和setter方法,用于对属性进行读写操作,POJO对象通常不包含业务逻辑,主要用于传输数据、数据存储和数据交换。

以下是开发过程中,POJO的使用场景:

  1. 数据传输:POJO对应用于在不同层之间传输数据,比如在业务逻辑层(service层)和表示层(Presentation层)之间传输数据。
  2. 数据存储:POJO对象用于封装数据库中的数据,通常用于与数据库进行交互的ORM(对象关系映射)
  3. 数据交换:POJO对象用于与外部系统进行数据交换。

二. DTO、VO、PO

DTO

Date Transfer Object:数据传输对象,DTO用于在不同层之间传输数据,通常用于将业务逻辑层的数据传输给表示层或持久层。

引入DTO是为了可以在不同的web服务间传输,因此需要可以序列化,实现serializable接口,还可以把相关的数据都组合到一个对象中,减少网络调用的次数,从而降低网络负载等....

举个例子,一张表中有100个列,那么对应的实体类中有100个属性,但是有一个服务调用只需要其中的10个属性,那么我们就可以创建一个只有10个属性的DTO返回给调用者,避免了数据表结构给客户端,使用数据表结构和调用结构解耦。

VO

View Object:视图对象,用于表示一个与前端进行交互的Java对象。

VO是用来保存Web、swing、android、iOS等一个页面对应的数据,以便显示。

VO和DTO比较像,区别在与当数据是为了在微服务之间进行传输时,我们使用DTO,如果是为了返回给前端进行展示时,我们使用VO。

PO

Persistent Object:持久化对象,用来表示数据库中一条记录映射成的Java对象。

与数据库的表、视图、查询结果的列一一对应,PO仅仅用来展示数据,类中只包含属性和get和set方法,不会有其他修改数据库的方法。

这篇关于PO、VO、DTO的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1121298

相关文章

DTO类实现Serializable接口的重要性

所谓序列化,简单一点理解,就是将对象转换成字节数组,反序列化是将字节数组恢复为对象。凡是要在网络上传输的对象、要写入文件的对象、要保存到数据库中的对象都要进行序列化。Java对象是无法直接保存到文件中,或是存入数据库中的。如果要保存到文件中,或是存入数据库中,就要将对象序列化,即转换为字节数组才能保存到文件中或是数据库中。文件或者数据库中的字节数组拿出来之后要转换为对象才能被我们识别,即反序列化。

某PO手机市场竞争分析,巧用波特五力分析法找出核心竞争力!

某PO手机主要从事手机的生产与销售,最近推出了新款 Reno 系列 5G 手机。当前,苹果占据了高端市场,华为占据了中高端市场,而某 PO 手机则在剩余市场中与某 VO 和某米竞争。近年来,某 PO手机凭借中端 R 系列逐步取得市场份额。在这样的背景下,我们运用波特五力模型来分析某 PO 手机的外部环境。 1、波特五力模型案例分析:某PO手机 1.1 新进入者的威胁 由于电子产品市场竞争激烈

selenium 自动化之七----自动化测试PO设计模式

PO(Page Object) 是selenium 自动化测试项目开发的设计模式之一,主要体现在页面交互的封装,使测试案例关注与业务而非页面谢姐,提高测试的可读性 PO 设计模式的有点 :减少代码重复,提高用例可读性,提供用例的维护性及UI频繁变化的项目 ,可以通过page对象封装一个HTML页面,可以通过提供的api来操作页面元素,不用满大街的四处找元素 PO的工作原理:就是一步一步封装分离

由“为什么VO不能继承PO?” 引出的为什么组合优于继承?

简述VO、DTO、PO的概念。 如下概念是我个人的理解: VO(View Object): 视图对象,用于展示,这很好理解,就是前端页面所需数据封装,一般所需要的属性比 PO 多并且。DTO(Data Transfer Object): 数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低

mybatis-generator生成相对应的po、dao以及mapper

1、下载mybatis-generator相应的jar包文件,可以进入http://search.maven.org/#search找到不同版本的jar包; 2、进入http://mybatis.github.io/generator/configreference/xmlconfig.html官方网站查看官方文档,选择你相应的方式来生成po、dao、mapper文件,本来选择的是配置文件+ja

mvc模式中关于DTO层的简单使用

1、概念: DTO:Data Transfer Object,数据传输对象,起到数据封装与隔离的作用 2、应用介绍: 在实际项目中,DTO的分在两层传输,一层是service层向controller层,这一层的DTO封装service执行结果,给controller,简化业务数据,只提取部分业务相关字段或补充处理相关字段,不同业务可能有不同的此类dto,具有业务相关性; 另外一层

MyEclipse生成 Hibernate带注解的po实体类

1.进入MyEclipse Hibernate 2.创建一个数据库链接 3.添加数据库链接信息,主要这里要引人图中的三个jar包,和ip和端口 4.选择刚刚创建的数据库链接的一个表,右键点击它,选择Hibernate Reverse Engineering 5.配置Po 6.选择主键生成方

Visio po解版的详细介绍

一、Visio简介 Visio是一款流程图、组织结构图、地平图、工程图等各类专业图表的制作软件。自问世以来,凭借其友好的用户界面、丰富的图形库和强大的编辑功能,已成为行业内使用最广泛的图形设计软件之一。无论是初学者还是专业人士,都能在Visio中找到满足自己需求的功能。 二、Visio的功能特点 1.强大的图形库:包含了各种类型的图表模板和预定义形状,如流程图、组织结构图、工程图等,用户可以

java的几种对象(po,dto,dao等)

j2ee中,经常提到几种对象(object),理解他们的含义有助于我们更好的理解面向对象的设计思维。     POJO(plain old java object):普通的java对象,有别于特殊的java对象(含继承约束等)和EJB。POJO一般只有一系列的属性和相应的get、set方法。     PO(persistant object):持久化对象,有别于POJO,必须对应数据库中的实体。

POJO、PO、DTO、VO、BO到底是什么?都如何使用?(基础概念+传输示意图+示例代码)带你一次玩转层出不穷的Object

文章目录 前言一、解释关系二、POJO、PO、DTO、VO、DAO、BO1.什么是POJO(Plain Old Java Object)2.什么是PO(Persistent Object)3.什么是DTO(Data Transfer Object)4.什么是VO(View Object)5.什么是DAO(Data Transfer Object)6.什么是BO(Business Object