什么是DTO、VO、BO、PO、DO、POJO

2024-03-19 17:44
文章标签 po pojo vo bo dto

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

什么是DTO、VO、BO、PO、DO、POJO

  1. 含义

    POJO定义的是无规则简单的对象,日常代码分层中POJO会被分为VO、BO、PO、DTO都是典型的POJO,但是BO、DAO一般不是POJO,通过各层POJO的使用,可以提高代码的维护性和可读性。

  2. 五大O的主要使用场景

    • VO(表示层对象)

      前端展示的数据,接口数据返回给前端时需要转为VO,在接口层服务中,将DTO转为VO之后返回给前台

    • BO(业务层对象)

      主要在业务内部使用的业务对象,在服务层服务中,由DTO转为BO然后进行业务处理后,转为DTO返回到接口层

      理解:BO对象可以包含一个或者多个其他的对象,例如一个教室里面有桌子、凳子、黑板、垃圾桶等,我们可以将教室看作一个BO,剩下的都看作为一个个PO,这样就可以建立一个对应教室的BO对象处理教室,BO里面就包含了这些PO,在进行业务逻辑处理时,就可以针对BO去处理

    • PO(持久层对象)

      负责存储数据库总提取的数据,不包含对数据的操作;在数据库层中,获取数据库数据存储到PO中,然后转为DTO返回到服务层中

    • DO(领域实体对象)

      两个版本,等同于上面的BO和PO,从现实世界中抽离出来的业务实体

    • DTO(数据传输对象)
      用于表示一个数据传输对象,通常用于不同服务或服务不同分层之间的数据传输

  3. 举例

    • Controller层

      常见的为将DTO转为VO,将Service层传递过来的DTO转为VO表示数据然后返回给前端

    • Service、Manager层

      常见的转换为DO转BO、BO转DTO,对数据进行处理之后返回DTO对象

    • DAO层

      DTO转为换DO,实现与数据库的交互

    • 领域模型定义

      • Entity 表结构实体,对应DO
      • BO业务实体
      • VO视图实体,DTO可共用

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



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

相关文章

Caused by: org.hibernate.MappingException: Could not determine type for: org.cgh.ssh.pojo.GoodsType,

MappingException:这个主要是类映射上的异常,Could not determine type for: org.cgh.ssh.pojo.GoodsType,这句话表示GoodsType这个类没有被映射到

DTO类实现Serializable接口的重要性

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

回归预测 | Matlab基于贝叶斯算法优化XGBoost(BO-XGBoost/Bayes-XGBoost)的数据回归预测+交叉验证

回归预测 | Matlab基于贝叶斯算法优化XGBoost(BO-XGBoost/Bayes-XGBoost)的数据回归预测+交叉验证 目录 回归预测 | Matlab基于贝叶斯算法优化XGBoost(BO-XGBoost/Bayes-XGBoost)的数据回归预测+交叉验证效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现基于贝叶斯算法优化X

某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

PO、VO、DTO

不知道有没有和我一样的职场新人小白有这样的疑惑,为什么一个实体类要有po、vo、dto,分这么多层有必要吗?我之前做项目的时候也接触到了这些分层,今天想写一篇来谈谈我对其的理解。 一. POJO 首先先认识一下POJO,POJO是指普通的Java对象,是一个简单的Java类,通常没有实现特定的接口或继承特定的类。POJO的涉及原则是简单、普通、存粹的Java对象。 POJO对象通常用于封装数

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.选择主键生成方