PO、VO、DAO、BO、DTO、POJO区分

这篇具有很好参考价值的文章主要介绍了PO、VO、DAO、BO、DTO、POJO区分。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 分层领域模型规约:

  • DO(Data Object):此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。
  • DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。
  • BO(Business Object):业务对象,由 Service 层输出的封装业务逻辑的对象。
  • AO(ApplicationObject):应用对象,在Web层与Service层之间抽象的复用对象模型, 极为贴近展示层,复用度不高。
  • VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。
  • Query:数据查询对象,各层接收上层的查询请求。注意超过 2 个参数的查询封装,禁止使用 Map 类来传输。

领域模型命名规约:

  • 数据对象:xxxDO,xxx即为数据表名
  • 数据传输对象:xxxDTO,xxx为业务领域相关的名称。
  • 展示对象:xxxVO,xxx一般为网页名称。
  • POJO:DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。

二 、具体含义

PO (persistant object )持久对象 (ENTITY)

可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择

VO (value object) 值对象

通常用于业务层之间的数据传递,PO只能用在数据层,VO用在商业逻辑层和表示层。各层操作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。

BO (Business Object) 业务对象层

表示应用程序领域内“事物”的所有实体类。这些实体类驻留在服务器上,并利用服务类来协助完成它们的职责。

DTO (Data Transfer Object) 数据传输对象

主要用于远程调用等需要大量传输对象的地方。比如我们一张表有100个字段,那么对应的PO就有100个属性。但是我们界面上只要显示10个字段,客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构。到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO。

POJO (Plain Old Java Objects) 简单的Java对象

实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来,而且简称比较直接。其中有一些属性及其getter、setter方法的类,有时可以作为value object或dto(Data Transform Object)来使用。

DAO 数据访问对象
PO 数据访问参数对象
VO 数据访问返回对象
DTO 数据传输对象
BO 业务对象文章来源地址https://www.toymoban.com/news/detail-451264.html

到了这里,关于PO、VO、DAO、BO、DTO、POJO区分的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DTO、VO、BO、PO、DO理解等相关的转换

    pojo(domain/entity)一般定义实体类,实体类又被分为VO、BO、 PO、 DTO、DO;通过各层POJO的使用,有助于提高代码的可读性和可维护性。 DO(Data Object):此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。 DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对

    2024年02月07日
    浏览(29)
  • DTO,VO,PO的意义与他们之间的转换

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

    2024年02月11日
    浏览(39)
  • 简单易懂的理解java开发中的 DO、BO、DTO、VO、AO都是什么✌

    这些只是开发的规范,规范就是建议遵守的,大家都这样做,长期以来就形成了一种开发规范,便于我们开发。 DO、BO、DTO、VO、AO他们都是普 通的Java类 ,只不过通常我们把他们放在DO、BO、DTO、VO、AO名的包下,结尾以DO、BO、DTO、VO、AO命名放在这些包下的类。 有时DO也会放在

    2024年02月01日
    浏览(39)
  • 后端开发基础概念 Entity,DAO,DO,DTO,VO, Service,Controller

    Entity主要用于ORM(对象关系映射)框架中,如Hibernate、MyBatis等,以便将数据库中的数据映射为对象,方便进行业务操作。 Entity通常与数据库表一一对应,代表 业务数据 的基本单元。 通常放在项目的model或entity包下。   DAO(数据访问对象): DAO是连接业务逻辑和数据库的桥

    2024年04月08日
    浏览(37)
  • Util、POJO、domain、entity、model、DAO、DTO、view、mapper、service、controller的作用和区别分析

    @[TOC]Util、POJO、domain、entity、model、DAO、DTO、view、mapper、service、controller的作用和区别分析 前言 做开发项目时,总会遇到这些包,理清他们的层次,非常有助于我们对于项目的理解和建立。 现阶段CSDN上貌似没有很系统,很详细的关于层级类的解释。因此总结了一下自己的经

    2024年02月07日
    浏览(38)
  • springboot苍穹外卖实战:一、环境搭建(nginx启动失败解决方案+Entity、DTO、VO、POJO区别说明+nio.charset.Input length = 2报错解决)

    在资料的day01中有个“前端运行环境”的文件夹,将其中的\\\"nginx-1.20.2\\\"文件夹解压到 非中文目录 下,然后直接点击文件夹中的nginx.exe(闪退不要紧)。 然后在浏览器中直接输入localhost,如果出现以下页面,即说明前端启动成功。 启动失败解决方案 如果没有,可能原因是80端

    2024年04月12日
    浏览(151)
  • VO和DTO有什么区别?

            在Java开发中,VO和DTO都是用于数据传输的对象,但它们的含义和用途有所不同。 VO(Value Object)通常是用于表示业务领域中的一个值对象,它是一个纯粹的数据对象,主要用于封装从业务层传递到UI层的数据,以便于UI层展示或者接收用户输入。VO通常不包含业务逻

    2024年02月10日
    浏览(35)
  • springboot中entity层、dto层、vo层通俗理解三者的区别

    entity :这个类的属性是跟数据库字段一模一样的(驼峰命名),当我们使用MyBatis-Plus的时候经常用得到。 dto :用于后端接收前端返回的数据,一般是post请求,前端会给我们返回一个json对象,我们这个dto就用于接收这个json对象,dto的每个属性名和json对象的key是对应的。 v

    2024年02月10日
    浏览(37)
  • JAVA - PO DTO 生成器

    假设你是一个Java 高级程序员,我会提供一些信息,你需要帮我自动生成Java的PO、DTO 对象。 这些信息有着固定的形式,第一行是对象的类名,其后的每一行都是该对象的属性(简称“属性”)。 对于我属性,格式可能是小驼峰的形式,可能是全大写命名法的格式,我需要你自动

    2024年02月10日
    浏览(42)
  • C# DAO转换为DTO工具类

    DAO(Data Access Object)数据访问对象,是我们在做结构化数据库访问的时候传输的对象,通过这个对象我们可以与数据库中的表建立映射关系 DTO(Data Transfer Object)是我们在与前端进行数据交换时传递的对象 为了数据安全 如果我们直接传递DAO的数据,我们可能回把数据库的底

    2024年02月05日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包