当前位置: 首页 > 编程日记 > 正文

java中的几种对象(PO,VO,DAO,BO,POJO)

一、PO :(persistant object ),持久对象

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

二、VO :(value object) ,值对象
通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.

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

三、DAO :(Data Access Objects)  ,数据访问对象接口
DAO是Data Access Object数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。

J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码.

DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开.一个典型的DAO实现有下列几个组件:
  1. 一个DAO工厂类;
  2. 一个DAO接口;
  3. 一个实现DAO接口的具体类;
  4. 数据传递对象(有些时候叫做值对象).
  具体的DAO类包含了从特定的数据源访问数据的逻辑。

四、BO :(Business Object),业务对象层
表示应用程序领域内“事物”的所有实体类。这些实体类驻留在服务器上,并利用服务类来协助完成它们的职责。

五、POJO :(Plain Old Java Objects),简单的Java对象
实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接.
其中有一些属性及其getter、setter方法的类,有时可以作为value object或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。

相关文章:

jquery文件上传控件 Uploadify

基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件。 要求使用jquery1.4或以上版本,flash player 9.0.24以上。 有两个版本,一个用flash,一个是html5。html5…

AI 还原康乾盛世三代皇帝的样貌,简直太太太好玩了!

作者 | Jack Cui出品 | AI科技大本营一位 B 站 up 主「Jack Cui」使用 AI 技术,还原了康熙、雍正、乾隆的历史样貌。看看富态的雍正!!算法实现人工智能技术,可以实现很多有趣而又有意义的事情。 利用 StyleGAN 算法,可…

男人一生中要做的事

作者:未知 请作者速与本人联系揽住母亲的肩头: 每个人都是最棒的,父体的千万个细胞中最强壮的一个才能跑到最前面与来自母体的细胞结合。这时,有二分之一的机会会诞生一个男人。儿子,无疑是父亲所有理想的最好载体&am…

【BZOJ2157】旅游

2157: 旅游 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 1460 Solved: 656[Submit][Status][Discuss]Description Ray 乐忠于旅游,这次他来到了T 城。T 城是一个水上城市,一共有 N 个景点,有些景点之间会用一座桥连接。为了方便游客到…

PHP面向对象精要

1 使用extends实现继承以及重载、魔术方法的含义 class B extends A 声明的时候B里可以没有A里的方法 调用的时候$bnew B(); $b->A里的方法(); $b->A里的属性1; $b->B里的方法(); $b->B里的方法(); 如果$anew A(); 可以 $a->A里的方法(); $a->A里…

码农新机会!2019-2020行业调查报告出炉,这个领域程序员缺口很大!

近日,CSDN发布了《2019-2020中国开发者调查报告》,本报告从2004年开始针对一年一度的CSDN开发者大调查数据分析结果形成,是迄今为止覆盖国内各类开发者人群数量最多、辐射地域、行业分布最广的调查活动。笔者从本次调查中,挑选出一…

线性代数与矩阵论 定理 1.5.6 拉格朗日插值公式

给定域$\mathbf{F}$中$n1$个不同的数$\alpha_1,\alpha_2,\cdots,\alpha_{n1}$,以及域$\mathbf{F}$中另外$n1$个数$\beta_1,\beta_2,\cdots,\beta_{n1}$,则唯一存在域$\mathbf{F}$中一个次数不超过$n$的多项式$f(x)$,使得$f(\alpha_j)\beta_j,1\leq j\leq n1$,其中 \begin{equat…

Android的ToolBar

ToolBar比ActionBar更加可控&#xff0c;自由。因此&#xff0c;Google 逐渐使用ToolBar来代替ActionBar。 使用ToolBar 1.要引入appCompat_v7支持 2.主题设置为NoActionBar 在style.xml文件中 <style name"MyAppTheme" parent"Theme.AppCompat.Light.NoActi…

利用.NET的XML序列化解决系统配置问题

作者&#xff1a;未知 请作者速与本人联系 出自&#xff1a; http://blog.csdn.net/ycl111/在Web系统开发中&#xff0c;我们经常需要读取和设置一些系统配置项&#xff0c;常见的例如数据库连接字符串、上传路径等等。在最初的ASP系统中&#xff0c;比较常用的方法是将值保存…

告别CNN?一张图等于16x16个字,计算机视觉也用上Transformer了

编译 | 凯隐出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;Transformer是由谷歌于2017年提出的具有里程碑意义的模型&#xff0c;同时也是语言AI革命的关键技术。在此之前的SOTA模型都是以循环神经网络为基础&#xff08;RNN, LSTM等&#xff09;。从本质上来讲&…

mysql left join,right join,inner join用法分析

2019独角兽企业重金招聘Python工程师标准>>> 下面是例子分析 表A记录如下&#xff1a; aID aNum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表B记录如下: bID bName 1 2006032401 2 2006032402 3 2006032403 4 200603240…

如果BarTender出现卸载不干净的问题如何处理

自从BarTender 2016出了之后&#xff0c;好多小伙伴都想试试新功能咋样&#xff0c;这就意味着首先要卸载电脑上旧版BarTender。然而就是这个操作&#xff0c;难倒了好一批人&#xff0c;他们表示BarTender卸载卸不干净&#xff0c;不仅旧版的用不起来了&#xff0c;新版BarTen…

iometer硬盘测试工具附教程

教程地址http://servers.pconline.com.cn/skills/0711/1145597.html转载于:https://blog.51cto.com/cywin7/1081456

Python炫技操作:模块重载的五种方法

作者 | 写代码的明哥来源 | Python编程时光环境准备新建一个 foo 文件夹&#xff0c;其下包含一个 bar.py 文件$ tree foofoo└── bar.py 0 directories, 1 filebar.py 的内容非常简单&#xff0c;只写了个 print 语句print("successful to be imported")只要 bar.…

使用Powershell管理Linux 下的 SQL Server

使用Powershell管理Linux 下的 SQL Server我们上一篇文章介绍了在Centos 7.3下安装及配置 SQL Server&#xff0c;今天我们主要介绍的是如何在Windows下使用Powershell来管理Linux下的SQL Server&#xff0c;其实说到Powershell大家都已经很熟悉了&#xff0c;Powershell不止是…

这么多年,终于有人讲清楚Transformer了

作者 | Jay Alammar译者 | 香槟超新星&#xff0c;责编 | 夕颜来源 | CSDN&#xff08;ID:CSDNnews&#xff09;注意力机制是一种在现代深度学习模型中无处不在的方法&#xff0c;它有助于提高神经机器翻译应用程序性能的概念。在本文中&#xff0c;我们将介绍Transformer这种模…

提高IIS网站服务器的效率的八种方法 (转载)

作者&#xff1a;未知 请作者速与本人联系以下是提高IIS 5.0网站服务器的执行效率的八种方法&#xff1a; 1. 启用HTTP的持续作用可以改善15~20%的执行效率。 2. 不启用记录可以改善5~8%的执行效率。 3. 使用 [独立] 的处理程序会损失20%的执行效率。 4. 增加快取记忆体的保存…

搭建Docker私有仓库--自签名方式

为了能集中管理我们创建好的镜像&#xff0c;方便部署服务&#xff0c;我们会创建私有的Docker仓库。通读了一遍官方文档&#xff0c;Docker为了确保安全使用TLS,需要CA认证&#xff0c;认证时间长的要钱啊&#xff0c;免费过期时间太短&#xff0c;还是用自签名比较简单。 准备…

Visual C# .NET 2003 语言的改变

Visual C# .NET 2003 语言的改变 Prashant Sridharan Microsoft Corporation 2002年12月30日 适用于&#xff1a; Microsoft Visual Studio C# 2003 摘要&#xff1a;为了与欧洲计算机制造商协会 (ECMA) 的 C# 规范完全兼容&#xff0c;Microsoft Corporation 对 C# 编译器的…

.net内存管理与指针

本人前段时间准备做个TIN三角网的程序&#xff0c;思想是是分割合并法&#xff0c;分割的同时建立平衡二叉树&#xff0c;然后子树建三角网并相互合并&#xff0c;再向上加入父亲的点集。由于我对.net语言熟点&#xff0c;就准备用c#语言实现。但是不知从那听过当建立的类型只想…

强化学习是针对优化数据的监督学习?

作者 | Ben Eysenbach、Aviral Kumar、Abhishek Gupta 编译 | 凯隐出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;强化学习&#xff08;RL&#xff09;可以从两个不同的视角来看待&#xff1a;优化和动态规划。其中&#xff0c;诸如REINFORCE等通过计算不可微目标期…

solrcloud Read and Write Side Fault Tolerance

2019独角兽企业重金招聘Python工程师标准>>> SolrCloud supports elasticity, high availability, and fault tolerance in reads and writes. What this means, basically, is that when you have a large cluster, you can always make requests to the cluster: …

XML的二十个热点问题

http://www.netqu.com 中华技术网会员 Wuxuehui 发布翻译&#xff1a;Chen Zhihong 编辑&#xff1a;孙一中这些日子,几乎每个人都在谈论XML (Extensible Markup Language)&#xff0c;但是很少有人真正理解其含义。XML的推崇者认为它能够解决所有HTML不能解决的问题&#xff0…

5G+云网融合,移动云带领开发者释放边缘计算的力量

在5G浪潮的驱动下&#xff0c;智能设备、自动驾驶、VR/AR等对于实时性、本地性有着较强需求的场景日益丰富&#xff0c;边缘计算应运而生&#xff0c;有效提升了用户体验。众所周知&#xff0c;边缘计算技术的突破&#xff0c;意味着许多控制将通过本地设备实现而无需交由云端&…

Linux下模拟RAID5实现磁盘损坏,数据自动切换到备份磁盘上

另一个博客地址&#xff1a;www.rsyslog.org Linux社区 RAID5磁盘配额&#xff0c; 1块磁盘&#xff0c;分5个分区模拟5块磁盘&#xff0c;其中4个做成RAID5分区&#xff0c;剩余一个作为冗余磁盘&#xff0c;挂载到/data1目录&#xff0c;模拟其中一块磁盘损坏&#xff0c;冗…

jsp9大内置对象

转载于:https://www.cnblogs.com/xtdxs/p/6523059.html

RHCSA 解析-01

这是RHCSA题目开始正式做题前的准备部分。 后面会陆续连载部分类似的题型极其解法。 考试时间&#xff1a;RHCSA 2.5小时 总分300分&#xff0c;210分pass考试环境&#xff1a;考试为上机考试&#xff0c;在一台真实机系统中&#xff0c;已经预安装好虚拟机&#xff0c;要求所…

关于Visual C#装箱与拆箱的研究

关于Visual C#装箱与拆箱的研究2004-09-15 作者&#xff1a; 出处&#xff1a; CSDN在对这个问题展开讨论之前&#xff0c;我们不妨先来问这么几个问题&#xff0c;以系统的了解我们今天要探究的主题。观者也许曾无数次的使用过诸如System.Console类或.NET类库中那些品种繁多的…

Imagination推出全新多核GPU IP系列:提供33种不同配置,AI算力达24 TOPS

近日&#xff0c;致力于打造半导体和软件知识产权&#xff08;IP&#xff09; Imagination Technologies宣布推出全新的IMG B系列&#xff08;IMG B-Series&#xff09;图形处理器&#xff08;GPU&#xff09;&#xff0c;进一步扩展了其GPU知识产权&#xff08;IP&#xff09;…

ES6: 字符串

现在ES6增加了很多的字符串的方法&#xff0c;但是有些感觉自己也不是很懂&#xff0c;所以就罗列了一些平常的用的。 includes&#xff0c; startsWith&#xff0c; endsWith includes(): 返回布尔值&#xff0c;表示是否找到了参数字符串&#xff1b;startsWith(): 返回布尔值…