java vo 什么意思_在Java中VO , PO , BO , QO, DAO ,POJO是什么意思

java vo 什么意思_在Java中VO , PO , BO , QO, DAO ,POJO是什么意思在Java中VO,PO,BO,DAO,POJO是什么意思最近在项目中,遇到VO,我的天。。。那就一起学习回忆一下首先简单说明下:O/RMapping是ObjectRelationalMapping(对象关系映射)的缩写。简单来说,就是将对象和关系数据库绑定,用对象来表示关系数据。JavaWEB三层架构咱们更需要熟练使用VO:值对象(ValueObject)用new关键字创建…

大家好,又见面了,我是你们的朋友全栈君。

在Java中VO , PO , BO, DAO ,POJO是什么意思

最近在项目中,遇到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

画个图简单表示一下(借用别人的图)

0fec587e9a5519e34cc5ea17bf2493be.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140252.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Latex常见符号对照表

    摘要:Latex可以很方便的利用命令来生成各式各样的特殊符号.这里根据官方的文档将这些常见符号列出,以备查用.

    2022年4月4日
    249
  • eclipse中代码自动补全问题「建议收藏」

    eclipse中代码自动补全问题「建议收藏」安装的eclipse中按下alt+/没有进行代码自动补全而是提示:nodefaultproposals再次按下时有提示其它的。这是proposals的顺序有问题或者选择的proposals有问题。按照如下步骤去检查和调整:1:菜单window->Preferences->Java->Editor->ContentAssist->Enableaut…

    2022年5月31日
    76
  • leetcode题目分类_最长前缀匹配例题

    leetcode题目分类_最长前缀匹配例题原题链接编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = [“flower”,”flow”,”flight”]输出:”fl”示例 2:输入:strs = [“dog”,”racecar”,”car”]输出:””解释:输入不存在公共前缀。 提示:0 <= strs.length <= 2000 <= strs[i].length <= 200strs[i] 仅由小写英文字母组成题解分

    2022年8月8日
    10
  • 软件著作权申请流程_如何申请软件著作权

    软件著作权申请流程_如何申请软件著作权现在越来越多的安卓市场需要软著才能注册或者是才能上线,申请软著势在必行。最简单的方式,简单的准备资料,找第三方代理,不过这样可能花费数百毛爷爷,如果是急需加急,可能是几千。现在简单说一下自己申请的流程:首先贴出中国版权保护中心网站中国版权保护中心:http://apply.ccopyright.com.cn/cpcc/column_list_bqdj.jsp请使用IE浏览器打开一.注册

    2022年9月23日
    3
  • 大数据平台建设经验「建议收藏」

    大数据平台建设经验「建议收藏」大数据平台建设技术背景Facebook的DREP原则!!思路建设流程经验教训生产案例饿了么大数据平台建设大数据平台逻辑架构图工具链架构图!!流入三个源数据流的UV计算渠道订单一个大数据平台省了20个IT人力——敦奴数据平台建设案例分享引跑科技副总裁张晓东:引跑DBone数据库助力大数据建设需求挖掘五步曲,快速建设大数据项目整合公司3个网站后台管理子系统的经验总结-实现多系统的单点登录(ASP.N

    2022年6月12日
    36
  • CPLD和FPGA的区别和联系「建议收藏」

    CPLD和FPGA的区别和联系「建议收藏」CPLD和CPU接口:1、CPLD大部分是做为CPU的扩展,替CPU完成外部引脚资源的扩展、输入输出时序管理、部分软件功能实现,肯少单独用CPLD。2、初学者使用CPLD时,可以在IO连线中串联一个51欧姆的电阻,方便测量,更重要的是能保护CPLD的IO,更深一步是能改善高速信号的振铃、信号反射。提高信号完整性。参考:FPGA和CPLD对比与入门FPGA与CPLD的区别…

    2022年6月4日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号