java之PO,VO,TO,QO,BO等

2023-05-16

PO(persistant object) 持久对象

在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了。通常对应数据模型 ( 数据库 ),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的 java 对象。最简单的 PO 就是对应数据库中某个表中的一条记录,多个记录可以用 PO 的集合。 PO中应该不包含任何对数据库的操作。

DO(Domain Object)领域对象

就是从现实世界中抽象出来的有形或无形的业务实体。一般和数据中的表结构对应。

TO(Transfer Object) ,传输对象

在应用程序不同 tie( 关系 ) 之间传输的对象。

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

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

BO(business object) ,业务对象

从业务模型的角度看,见 UML 元件领域模型中的领域对象。封装业务逻辑的 java 对象,通过调用 DAO 方法,结合 PO,VO 进行业务操作。

主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。

比如一个简历,有教育经历、工作经历、社会关系等等。

我们可以把教育经历对应一个 PO ,工作经历对应一个 PO ,社会关系对应一个 PO 。

建立一个对应简历的 BO 对象处理简历,每个 BO 包含这些 PO 。

这样处理业务逻辑时,我们就可以针对 BO 去处理。

QO(query object),查询对象

VO(value object) ,值对象

视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。

通常用于业务层之间的数据传递,和 PO 一样也是仅仅包含数据而已。但应是抽象出的业务对象, 可以和表对应, 也可以不 ,这根据业务的需要,个人觉得同 DTO( 数据传输对象 ),在 web 上传递。

POJO(plain ordinary java object) 简单无规则 java 对象

纯的传统意义的 java 对象。就是说在一些 Object/Relation Mapping 工具中,能够做到维护数据库表记录的 persisent object 完全是一个符合 Java Bean 规范的纯 Java 对象,没有增加别的属性和方法。我的理解就是最基本的 Java Bean ,只有属性字段及 setter 和 getter 方法!。

DAO(data access object) 数据访问对象

是一个 sun 的一个标准 j2ee 设计模式, 这个模式中有个接口就是 DAO ,它负持久层的操作。为业务层提供接口。此对象用于访问数据库。通常和 PO 结合使用, DAO 中包含了各种数据库的操作方法。通过它的方法 , 结合 PO 对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。配合 VO, 提供数据库的 CRUD 操作

注:下面参考中第三个有一些例子,可学习哦

参考:

1)一分钟学java | PO,VO,TO,QO,BO

 2)Java中 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念

 3)DTO、TO、VO、PO、DO、BO、AO、DAO、POJO

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java之PO,VO,TO,QO,BO等 的相关文章

随机推荐

  • 通过串口实时打印Android内核调试log信息

    一 前言 在调试 Android的Linux内核时 xff0c 我们往往会通过打开对应模块的调试Log来查看一些关键信息 通常我们可以使用一些简单的查看方法 xff0c 比如 xff1a 在pc端装有adb工具时 xff0c 使用adb s
  • Spring XML配置文件详解

    spring配置文件是用于指导Spring工厂进行Bean生产 依赖关系注入 xff08 装配 xff09 及Bean实例分发的 34 图纸 34 Spring框架的配置文件是基于xml的 xff0c Spring强大的功能依赖于类型繁多的
  • 两行命令解决ubuntu22.04安装网易云音乐后点击图标无反应的问题

    感谢知乎用户 64 拉布 xff1a https zhuanlan zhihu com p 518108518 1 终端中输入以下命令 xff1a span class token builtin class name cd span op
  • 数据库MVCC多版本并发控制原理

    MVCC实现原理 频繁的加锁会带来什么问题 xff1f 读数据的时候没办法修改 修改数据的时候没办法读取 xff0c 极大的降低了数据库性能 数据库是如何解决加锁后的性能问题的 xff1f MVCC 多版本控制实现读取数据不用加锁 xff0
  • 学习笔记-----ButterKnife

    ButterKnife是一个专注于Android系统的View注入框架 ButterKnife bind this 一切findViewById Fragment Adapter中同样适用 xff0c ButterKnife bind th
  • 【Linux】vim 中批量添加注释

    本期主题 xff1a vim 中批量添加注释博客主页 xff1a 小峰同学分享小编的在Linux中学习到的知识和遇到的问题小编的能力有限 xff0c 出现错误希望大家不吝赐 此文主要介绍两种方法 xff1a 方法一 xff1a 块选择模式
  • Exported service does not require permission警告

    很久没写过应用了 xff0c 今天写一个Service时 xff0c 在manifest文件的 lt service gt 标签发现了这个警告 lt service android name 61 34 SendService 34 gt
  • Windows服务器高并发处理IOCP(完成端口)详细说明

    本系列里完成端口的代码在两年前就已经写好了 xff0c 但是由于许久没有写东西了 xff0c 不知该如何提笔 xff0c 所以这篇文档总是在酝酿之中 酝酿了两年之后 xff0c 终于决定开始动笔了 xff0c 但愿还不算晚 这篇文档我非常详
  • linux下如何测试端口通不通(四种方法)

    一般情况下使用 34 telnet ip port 34 判断端口通不通 接下来通过本文给大家分享四种方法测试端口通不通 xff0c 感兴趣的朋友一起学习吧 一般情况下使用 34 telnet ip port 34 判断端口通不通 xff0
  • 教你Vim编辑器,如何删除一行或者多行内容

    如何从Vim中删除行 xff1f 如何删除多行 xff1f 本文介绍在Vim编辑器中删除行的不同方法文内含长段代码可复制可往左滑 xff0c 希望对大家有帮助 xff01 安装Vim 在Ubuntu Debian中的安装方式 sudo ap
  • VBoxManage常用命令用法

    VBoxManage命令常用用法 系统环境 xff1a CentOS 7 3 x86 64 VirtualBox版本 xff1a 6 1 22 VirtualBox扩展版本 xff1a 6 1 22 增加一个新的扩展包 VBoxManage
  • Centos7安装Redis

    一 安装gcc依赖 由于 redis 是用 C 语言开发 xff0c 安装之前必先确认是否安装 gcc 环境 xff08 gcc v xff09 xff0c 如果没有安装 xff0c 执行以下命令进行安装 root 64 localhost
  • webRTC中的coturn服务安装

    目录 1 先准备一台云主机 2 安装coturn的依赖 2 1 依赖软件准备 2 1 安装依赖组件 2 2 安装coturn的持久化保存用户信息库 3 安装coturn 4 coturn配置 4 1 创建用户 4 2 配置说明 4 3 收集
  • Git配置.gitignore忽略文件

    git设置忽略文件和目录有两种方式 xff0c 一种是项目所有人员共用的的 xff0c 一种是开发自己使用的 第一种 xff0c 所有开发者共用的需要把设置设定在 gitignore该文件中 第二种 xff0c 开发者个人使用的忽略配置 x
  • 线程池实现原理

    创建线程有哪几种方式 一 继承Thread类创建线程类 xff08 1 xff09 定义Thread类的子类 xff0c 并重写该类的run方法 xff0c 该run方法的方法体就代表了线程要完成的任务 因此把run 方法称为执行体 xff
  • linux查看cpu与内存

    查看cpu 第一种方法 xff1a top命令法 1 首先执行top命令 xff1b 2 在top命令的显示界面 xff0c 按数据键1 xff0c 即可查看到当前系统中的总cpu数 xff1b 第二种方法 xff1a 通过proc文件系统
  • Element 布局组件el-row和el-col 详解

    1 背景 element的布局方式与bootstrap原理是一样的 xff0c 将网页划分成若干行 xff0c 然后每行等分为若干列 xff0c 基于这样的方式进行布局 xff0c 形象的成为栅栏布局 区别是element可将每行划分为24
  • netbeans中配置maven

    deploy 发布到远程maven库 本节默认maven库为nexus netbeans中按ctrl 43 1 xff0c 打开Project窗口 xff1b 在Project窗口中找到相关的project或module 在项目名上点击鼠标
  • 订阅关系一致

    订阅关系一致指的是同一个消费者Group ID下所有Consumer实例所订阅的Topic Tag必须完全一致 如果订阅关系不一致 消息消费的逻辑就会混乱 甚至导致消息丢失 本文提供订阅关系一致的正确示例代码以及订阅关系不一致的可能原因 帮
  • java之PO,VO,TO,QO,BO等

    PO persistant object 持久对象 在 o r 映射的时候出现的概念 xff0c 如果没有 o r 映射 xff0c 没有这个概念存在了 通常对应数据模型 数据库 xff0c 本身还有部分业务逻辑的处理 可以看成是与数据库中