15年来,为全国50万+企业提供互联网数字化基础应用服务。
微网小程序
电商运营
关于我们
付款方式
荣誉资质
业务提交
代理合作
知 识
400-1100-266
9:00-24:00(工作日)
首 页
企业400电话
Hot
网站建设
商标✡知产
网络优化推广
热
AI电话机器人
呼叫中心
彩铃•短信
增值拓展业务
新
主页
>
知识库
> Java数据库存取技术
Java数据库存取技术
热门标签:
Mysql连接数设置
银行业务
电子围栏
Linux服务器
阿里云
科大讯飞语音识别系统
服务器配置
团购网站
IT技术日新月异,新技术的出现令人目不暇接,似乎每一天都在产生着新名词。不过归根结底IT所要实现的价值不外乎数据收集,然后再以客户希望的形式展示给客户而已。因此数据存取技术也就成了一个永恒的话题。而在Java这个开放的世界里,数据库存取技术是五花八门,种类繁多。我们也来侃侃Java世界里主流的数据库存取技术。
首先列出英雄榜
1.JDBC直接访问数据库
2.EJB entity bean.
3.JDO技术。
4.第三方O/R工具,如目前大红大紫的Hibernate, 其它如Castor, Toplink.
先说说这个历史最为悠久的JDBC吧。从Java诞生的那天起,这位仁兄就开始登上历史舞台了。Java能有今天这么风光,JDBC可以说是功不可末。一路走来,如今已是JDBC3.0了。在没有JDBC的时候,访问数据库那是八仙过海,各显神通,各家数据库厂商都有自己的一套API, 苦就苦了开发人员了。换了个数据库,那个程序要改是面目全非。
JDBC规范的出台,向世界宣告从此有了访问关系数据库的标准通用接口了。JDBC标准获得了几乎所有数据库厂商的支持,好像还真难找到这么一个数据库,它是没有JDBC支持的。JDBC规范一经发布,获得了空前成功,很快成为java访问数据库的标准。JDBC的成功在于它的规范统一标准的接口,只需要掌握标准的SQL语言就可以访问各种不同的数据库了。这种数据库间的可移植性和Java一直高喊的口号Compile Once, Run everywhere遥相呼应。JDBC今天还是java访问数据库的基石,CMP、JDO、Hibernate说到底只是更好的封装了JDBC, 提供了更为上层的更为强大的接口而已。然后说说JDBC直接访问数据库的方式来实现java 持久性。
这种方式相对于CMP来说比较简单直接,特别是对于小型应用十分方便。比如,我要写一个简单的留言版程序,就没有必要session bean ,entity bean ,又是home接口又是远程接口,一层层调了吧。直接JDBC,写SQL语句了事。和其它持久化技术相比,JDBC直接访问数据库的方式需要程序员操心的事情多了一些,你得自己关心transaction, 自己关心连接池,你得写大量的get set方法,把SQL select出来的值一个一个塞到你的java object中,或者把java object的值一个一个给取出来,用SQL insert 到数据库,完全手动进行O/R mapping。为了克服这些缺点,CMP, JDO等等开始陆续登上历史舞台。
下面EJB登场,EJB作为Sun J2EE体系的核心部分,是Sun 所力推的企业级开发的首选,而EJB entity 目前仍然是Sun J2EE白皮书所最为推荐的java持久化技术。Entity Bean作为EJB规范的一部分,也是EJB规范里面最备受争议的一种技术,它伴随着EJB规范走过了风风雨雨几个春秋。目前EJB3.0规范草案已经出台,http://jcp.org/en/jsr/detail?id=220。
从家庭出生来看,EJB可谓是根正苗红,规范处于 JCP管理之下,拥有超级豪华的专家组成员, Sun、IBM、Oracle、Borland、Bea、SAP、Jboss、Apache软件基金组织等等。单从这一点来看,选它作为企业级开发,技术支持应该就无需担心了。当然向IBM, Bea等寻求项目咨询价格当然也不菲。从提供功能上来看,EJB entity经历了EJB1.0,EJB1.1,EJB2.0,功能也越来越完善了。包括了完善的事务支持,EJBQL查询语言,透明的分布式访问等等。不过作为一个重量级技术,entity bean的性能不太尽人意,这成为它备受争议的一个焦点,不知在3.0以后这个状况会不会有所改进。
再有一个,它功能虽然强大,可是对于易用性来说,实在不敢恭维,写一个最简单的bean,也非得home接口,远程接口,要再加上2.0以后加入的本地接口,这么林林总总一大堆,足以让Java初学者望而却步了。但是这一点在一段时间内竟然也成了EJB功能强大,技术高深的“佐证”。记得多年以前刚毕业那阵,EJB应用在国内还比较少,公司里也没有人研究Why EJB这个问题,反正凡是用EJB的项目就是牛项目,用EJB的人就是牛人,分到EJB项目组的兄弟们走路都是抬头挺胸的,说话都比我等还在JDBC, SQL的人要高两嗓门。EJB 技术目前盘踞着企业级应用的大部分江山,老大地位短时间内很难捍动。
下面新生代代表JDO隆重登场,JDO绝对属于超年轻选手, JDO1.0也不过是2002四月份才发布。2003五月份出台1.0.1, 目前最新2.0草案已经发布。就为这2.0,江湖上展开的讨论可以说是“血雨腥风”,两大兵团,JDO兵团和EJB兵团争得是不可开交。有兴趣的不妨去瞧瞧,里面也不乏重量级人物。单从这一点来看,它能对EJB产生这么大的冲击,足以说明了这个初生牛犊确有过人之处。JDO的诞生给java数据持久性带来很多新特性,特别是它弥补了EJB对OO编程的先天不足,JDO提供了完全的OO支持,继承,多态。JDO和 EJB比属于轻量级工具,无需容器支持。不像EJB,要用你就非得整一个Weblogic, webSphere之类的。
JDO的简单易用是最为人们所称道的,不需要你写大量无用的接口,不需要你继承什么特殊的类,唯一所要做的就是对你的class文件做一下enhance。用了JDO,可以说我们的java程序这下真正OO了,我们无需再理会数据库里面有啥表格了,存取都是以java object为对象了,所有数据库表格都是自动生成的。这一点可以说也是一个革命了。
在此之前,项目设计阶段,Database Schema设计可以说是个重头戏。而现在用JDO开发,完全不需要数据库设计了。那你的Database Schema呢?就是你的Class啊,JDO会根据你的Class自动生成相应的数据库表格。一个字,爽!从数据库可移植性来看,JDO也是优势明显,就我使用过的Kodo 和 Genie来看,几个简单应用程序换数据库时候除了换一个JDBC driver, 换一下数据库URL,无需对程序做任何改动。 这一点对EJB 来说又是处于劣势。从家庭出身来看,JDO也是出生名门,从一开始就处于JCP管理之下。从企业级支持来看,它可以很好的和Session bean协同工作,对于企业级开发,Session bean + JDO的方式是Session bean+entity方式的一个强有力竞争对手。虽然有这么多优点,不过它的发展之路也非一帆风顺,这不,今年五月份JDO2.0的投票,IBM、Oracle、Bea三大巨头同时投了反对票。不过稍微一想,就可以理解,这并不是JDO本身技术有什么重大缺陷,而是JDO动到这些巨头们的奶酪了。
Bea、IBM做着业界最为著名应用服务器,weblogic和WebSphere,在EJB上面是投下了血本了,他们不能眼睁睁看着JDO来蚕食EJB市场。而Oracle, 还在卖着它自己的O/R工具Toplink, 看着JDO日渐强大,他能不着急么。不过呢,公司再牛,他也挡不住历史前进的车轮吧,最终JDO2.0的投票还是以绝对的票数(12:3)通过了。
还有其它散落江湖的Java持久化技术,如Hibernate、Castor、Toplink,他们虽然没有皇家血统,不过实力也是不容小视。就拿Hibernate来说,是javaworld评选出来的2003年度最佳java数据存取工具,目前可以说是大红大紫。而Castor和Toplink也算是历史悠久了,在JDO没有出世之前,它们就在江湖上混着了。目前也占据着一定的市场。这些第三方的工具从功能上来说很类似于JDO, 只是各自的API互不相同。这也是后来JDO规范的呼声越来越高的一个原因吧。这些第三方O/R mapping工具能在江湖上立足,也确实都有各自过人之处。如Hibernate金字招牌就是Open Source,支持几乎世面上所能看到得绝大部分数据库,并且文档也非常齐全。Toplink么,可谓历史悠久,又榜着Oracle这棵大树。目前来看,这些工具也占据着java数据库存取的不小市场。个人觉得,随着JDO规范的不段完善,JDO产品的普及,这一部分人员可能会在以后渐渐退出历史舞台。不过从Hibernate目前如日中天的气势来看,好像说这句话还为时过早。
关于这些技术优劣之争从它们刚刚出生那天起从来就没有停止过,而各家各派也从来没有能够说服过对方。对于我们应用开发者而言,撇开应用纯粹来争论技术优劣并没有多大意义。还是俗话说的好,没有最好的,只有最合适的。我们能够在做开发的时候能够选择一个最合适于自己应用的技术,那就足够了。总的来说,JDBC面向RDBMS,比较适合关系数据库模式驱动的应用,例如统计表格数据,生成报表之类的应用。EJB 技术以J2EE应用服务器为中心,如果你的应用确实需要灵活的可声明的事务边界,需要支持大容量的访问和不间断的服务,需要应用服务器的集群,那么选EJB吧。JDO则面向对象,对于以域对象为中心的应用,包含图,树模型的应用,JDO是首选。
您可能感兴趣的文章:
form表单回写技术java实现
举例解析Java的图像缓冲技术的使用
JAVA技术实现上传下载文件到FTP服务器(完整)
PHP、JAVA、.NET这三种技术的区别分析
Java I/O技术之文件操作详解
java反射技术与类使用示例
Java UrlRewriter伪静态技术运用深入分析
Java中四种XML解析技术
2004开发技术年度综述之Java世界
Java技术长久占居主要地位的12个原因
标签:
衡水
萍乡
大理
蚌埠
枣庄
江苏
衢州
广元
巨人网络通讯声明:本文标题《Java数据库存取技术》,本文关键词 ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
相关文章
电销机器人到底如何运作的?
很多人对 电销 机器人到底如何运作存在着巨大的好奇心,那么今天,小编就带大家看一下机器人的运作流程! 电销...
10-24
电话机器人的兴起对电销行业来说是“惊喜”还
随着互联网 大数据 的普及,许多 电销 行业如雨后春笋般争先恐后地冒出来。而今电销行业的混乱,让各位涉足电销...
10-24
百应电话机器人有哪些功能?百应电话机器人好
百应 智能 电话机器人 能够协助企业进行呼入接待、 外呼 回访等服务场景,能够经过不断的培训学习,逐步完善成专...
10-24
客服外呼系统都有哪些优势?
当前呼叫中心电话系统被企业用于业务 电销 以及客户服务,然而随着企业需求不断扩大,原来传统的自建 呼叫中心...
10-24
电销机器人效果怎么样?智能电话机器人可行吗
几百数千年后,或许没人会记得卡斯帕罗夫曾是世界第一的围棋高手,但人们会记得,他败给了电脑深蓝。那虽算不...
10-24
百应智能外呼系统,贷后管理科技升级
去年底开始,接连出台政策和法规加强对消费 金融 等金融形态进行 规范 。强 监管 下,行业走向规范发展,行业竞...
10-24
百应智能外呼系统引领外呼行业新风向
电话销售: 您好,我这边是XX地产,给您推荐一下精装酒店式公寓,有兴趣了解一下吗? 客户: 具体位置在哪里啊?...
10-24
小贷企业为什么需要电销机器人?
随着信贷行业逐步进入我们的生活中,越来越多人选择借款来处理资金难题。信贷企业不断涌现,业务开展迅猛,行...
10-24
雷霆电话机器人是如何转接人工的?
当我们在拨通移动、联通或电信 运营商 的客服电话时,总会要先经过一些机械化的选择,然后成功连接人工坐席反馈...
10-24
米卡迪电话机器人效果怎么样?
外呼 电话机器人 ,之所以能智能的与客户无忧交流,因为运用了下面这么多高技术。 ASR 语音识别 米卡迪电话机器人...
10-24
灵声电话机器人效果怎么样?好用吗
外呼 电话机器人 ,之所以能智能的与客户无忧交流,因为运用了下面这么多高技术。 灵声 电话机器人 效果怎么样?...
10-24
电销机器人要想效果好,话术定制有多重要
电话机器人 是基于智能语音技术的智能营销工具。它会像真人一样主动拨打客户的电话,介绍产品并回答客户的咨询...
10-24
智能电话机器人的实现原理,使用安全吗?
随着科学技术的进步和 人工智能 的发展,越来越多的智能产品已经进入我们的工作和生活。智能手机、智能电视、智...
10-24
福州哪里有电话机器人研发公司?
人工智能 再次成为各行各业关注的焦点,自从这个概念首次提出以来,60年已经过去了。自从AlphaGo以巨大优势击败人...
10-24
电销机器人销售能力怎么样?
自从 电话机器人 一出现,在 电销 行业火爆了起来。面对电话机器人的各种优势,企业跃跃欲试,但又害怕效果不理...
10-24
推荐文章
Win7/Win8.1用户:全新安装Win10之前请先升级
呼叫中心手动排版法则
我看CTI行业这十四年的发展(上)
您的联络中心NLP和NLU指南
MaerskData美国公司选择思科IP电话解决方案
习近平叮嘱大庆加快城市转型
科大讯飞“语音云”发布 移动互联网迈入语音时代
加强商标权保护至关重要
上一篇:
Java语言的接口与类型安全
下一篇:
Java中对HashMap的深度分析
一起分享吧
版权所有:巨人网络(扬州)科技有限公司——拥有网站建设十年经验,具备独立网站开发能力,能够提供完善的网站设计及相关的网站制作服务! 全国统一服务热线:400-1100-266
展开
收缩
QQ咨询
在线咨询
客服小董
客服小张
客服小刘
客服小李
客服小王
招商加盟
财务查询
微信客服
电话咨询
400-1100-266