最近在上课的时候听到了VO,不知道是什么意思了

首先简单说明下:

O/R  Mapping是Object Relational Mapping(对象关系映射)的缩写。简单来说,就是将对象和关系数据库绑定,用对象来表示关系数据。

Java WEB三层架构咱们更需要熟练使用

VO:值对象(Value Object)

用new关键字创建,有GC回收通常用于业务层之间的数据传递,一般是抽象出的业务对象,可以和数据表相对应,也可以不。在web层,对应一个web页面或者swt界面,用一个VO对象对应一个界面的值。

PO:持久对象(Persistant Object)

属性和数据库表中的字段一一对应,可以看成是数据库中的表相映射的java对象。由数据库insert产生,由数据库delete删除。其生命周期和数据库密切相关,但PO中不应该包含任何对数据库的操作。

其java文件一般都是数据库表中字段属性和对应的get,set方法

BO:业务对象(business object)

主要作用是把业务逻辑封装成一个对象。这个对象可以包括一个或多个其他的对象。比如一个简历,有教育经历,实习经历,得奖情况等等,建立一个对应简历的BO对象处理简历,每个BO包含这些PO,这样处理业务逻辑时,我们可以针对BO进行处理。

DTO:数据传输对象(Data Transfer Object)同时又DTO模式

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

DAO:数据访问对象(Data Access Object)同时又DAO模式

主要用来封装对数据库的访问,包含了各种数据库的操作方法,提供数据库的CRUD操作。通过它可以把POJO持久化为PO,用PO组装为DTO、VO

POJO:简单Java对象(Plain Ordinary Java Object)

POJO是最常见最多变的对象,是一个中间对象,也是我们最常见的打交道的对象。

一个POJO持久化以后就是PO

直接用它传递,传递过程中就是DTO

直接用来对应标识层就是VO

java po vo bo是什么以及_Java中VO , PO , BO, DAO ,POJO是什么意思相关推荐

  1. java po vo bo是什么以及_JAVA中(PO,VO,TO,BO,DAO,POJO)分别是指什么

    (一)O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据. 在O/R Mapping的世界 ...

  2. Java传统的io和nio区别_Java中IO和NIO的本质和区别

    简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就 ...

  3. java 继承 实现 会重写 方法吗_java 中继承,组合,重载,重写的实现原理 (转)...

    我们知道,继承,组合,重载,重写是java语言的面向对象实现的基本特征. 那么在java内部,究竟是如何实现这些面对对象的基本特征的呢? 继承和组合是面向对象中代码复用的主要实现方式,他们可以达到类似 ...

  4. Java所有函数都是动态的_Java中的函数动态调用

    //------------------------------------- //类ArgumentHolder //用于调用参数的封装,实现变长参数及 //不同类型参数的统一形式地传递 //成员变 ...

  5. java复制两个对象报异常_Java中复制两个不同类的对象的属性

    Apache的开源包BeanUtils用来复制两个对象的属性,要使用这个Apache的开源包,要先去官网下载commons-beanutils-1.X.jar包,http://www.apache.o ...

  6. Java合并两个int数组合并_Java中如何把两个数组合并为一个

    在Java中,如何把两个String[]合并为一个? 看起来是一个很简单的问题.但是如何才能把代码写得高效简洁,却还是值得思考的.这里介绍四种方法,请参考选用. 一.apache-commons 这是 ...

  7. java.lang类在电脑哪个位置_Java中的java.lang.Class API 详解

    且将新火试新茶,诗酒趁年华. 概述 Class是一个位于java.lang包下面的一个类,在Java中每个类实例都有对应的Class对象.类对象是由Java虚拟机(JVM)自动构造的. Class类的 ...

  8. JAVA偏向锁的什么时候释放_Java中的偏向锁

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Java偏向锁(Biased Locking)是Java6引入的一项多线程优化. 偏向锁,顾名思义,它会偏向于第一个访问锁的线程,如果在运行过程中,同步锁 ...

  9. java for(o t :object) 获取顺序号_java中线程的生命周期

    线程是java中绕不过去的一个话题, 今天本文将会详细讲解java中线程的生命周期,希望可以给大家一些启发. java中Thread的状态 java中Thread有6种状态,分别是: NEW – 新创 ...

  10. java可比较的和比较器的区别_Java中Compareable和Comparator两种比较器的区别

    对于JDK8而言,有三种实现对象比较的方法: 1.在需要比较的对象类中覆写Object类的equals()方法: 2.需要比较的类继承Comparable接口,然后在其类内部实现compareTo() ...

最新文章

  1. 自动驾驶又陷“派系”之争:该约束行人还是让车更完美
  2. f-BRS: Rethinking Backpropagating Refinement for Interactive Segmentation解析
  3. java笔记之数组的概念、声明、初始化、访问方式、复制和动态扩展算法以及递归...
  4. 趁webpack5还没出,先升级成webpack4吧
  5. Java推断文本文件编码格式以及读取
  6. vim中自动格式化代码
  7. Django自身安全机制-XSS和CSRF
  8. STM32F103系列选型
  9. 物联网技术是怎么分类的,物联网主要面临哪些难题?
  10. pip换源 conda换源
  11. python中temp的用法_请问Python里temp是什么意思?
  12. 大三计算机组成原理深度学习——机器字长、存储单元、存储字长、存储容量,存储体的概念
  13. SqlServer 数据库服务器运用
  14. VRChat简易教程1-开发环境准备(SDK)
  15. OJ刷题---鸡兔同笼问题
  16. 网络管理之基础知识详解
  17. Visio 2016 和 SharePoint Designer 2013 来创建工作流并将其发布到 SharePoint 2016 网站而无需任何代码
  18. IDEA自定义注释模板实现方法。
  19. Beta阶段测试报告
  20. 涂鸦智能在香港双重主板上市:市值112亿港元 年营收3亿美元

热门文章

  1. mfc控件设置颜色(超全)
  2. 复数矩阵相乘的扩展矩阵计算方法
  3. plsql 登录提示 丢失msvcr71.dll
  4. Oracle的MD5函数介绍
  5. 201671010402 词频统计软件项目报告
  6. 方差var、协方差cov、协方差矩阵(浅谈)
  7. mysql 加锁 索引_MySQL 加锁处理分析
  8. 个人学习计划(计算机专业),大学生个人学习计划范文
  9. 期货术语-关于升、贴水,点价,洗船
  10. 让 macbook 外接键盘支持 HOME 键