大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> JSP专区 -> JDBCTM 指南:入门

JDBCTM 指南:入门

时间: 2021-07-31 作者:daque

本简介是从《jdbctm database access from javatm: a tutorial and annotated reference 》这该书中摘引入的。javasoft 暂时正在筹备这该书。这是一本教程,同声也是 jdbc 的要害参考画册,它将动作 java 系列的构成部份在 1997 年春季由 addison-wesley 出书公司出书。 1.1 什么是 jdbctm? jdbctm 是一种用来实行 sql 语句的 javatm api(有道理的是,jdbc 自己是个牌号名而不是一个缩写入;但是,jdbc 常被觉得是代办 “java 数据库贯穿 (java database connectivity)”)。它由一组用 java 编制程序谈话编写的类和接口构成。jdbc 为东西/数据库开拓职员供给了一个规范的 api,使她们不妨用纯 java api 来编写数据库运用步调。 有了 jdbc,向百般联系数据库发送 sql 语句即是一件很简单的事。换言之,有了 jdbc api,就不用为考察 sybase 数据库特意写一个步调,为考察 oracle 数据库又特意写一个步调,为考察 informix 数据库又写另一个步调,之类。您只需用 jdbc api 写一个步调就够了,它可向相映数据库发送 sql 语句。并且,运用 java 编制程序谈话编写的运用步调,就不必去忧伤要为各别的平台编写各别的运用步调。将 java 和 jdbc 贯串起来将使步调员只须写一遍步调就可让它在任何平台上运转。 java 具备坚忍、安定、容易运用、容易领会和可从搜集上机动载入等个性,是编写数据库运用步调的特出谈话。所须要的不过 java 运用步调与百般各别数据库之间举行对话的本领。而 jdbc 恰是动作此种用处的体制。 jdbc 扩充了 java 的功效。比方,用 java 和 jdbc api 不妨颁布含有 applet 的网页,而该 applet 运用的消息大概来自长途数据库。企业也不妨用 jdbc 经过 intranet 将一切人员连到一个或多个里面数据库中(纵然那些人员所用的计划机有 windows、 macintosh 和 unix 等百般各别的操纵体例)。跟着越来越多的步调员发端运用 java 编制程序谈话,对从 java中便利地考察数据库的诉求也在日益减少。 mis 处置员们都爱好 java 和 jdbc 的贯串,由于它使消息传递变得简单和财经。企业可连接运用它们安置好的数据库,并能便利地存守信息,纵然那些消息是积聚在各别数据库处置体例上。新步调的开拓期很短。安置和本子遏制将大为简化。步调员可只编写一遍运用步调或只革新一次,而后将它放到效劳器上,随后任何人就都可获得最新本子的运用步调。对于商务上的出卖消息效劳, java 和 jdbc 可为外部存户供给获守信息革新的更好本领。 1.1.1 jdbc 的用处是什么? 大略地说,jdbc 可做三件事: 与数据库创造贯穿, 发送 sql 语句, 处置截止。 下列代码段给出了之上三步的基础示例: connection con = drivermanager.getconnection ( "jdbc:odbc:wombat", "login", "password"); statement stmt = con.createstatement(); resultset rs = stmt.executequery("select a, b, c from table1"); while (rs.next()) { int x = rs.getint("a"); string s = rs.getstring("b"); float f = rs.getfloat("c"); } 1.1.2 jdbc 是一种初级 api ,是高档 api 的普通 jdbc 是个“初级”接口,也即是说,它用来径直挪用 sql 吩咐。在这上面它的功效极佳,并比其它的数据库贯穿 api 容易运用,但它同声也被安排为一种普通接口,在它之上不妨创造高档接口和东西。高档接口是“对用户和睦的”接口,它运用的是一种更易领会和更为简单的 api,这种 api 在幕后被变换为诸如 jdbc 如许的初级接口。在编写正文时,正在开拓两种鉴于 jdbc 的高档 api: 一种用来 java 的嵌入式 sql。起码仍旧有一个供给者安置编写它。dbms 实行 sql:一种特意安排来与数据库共同运用的谈话。jdbc 诉求 sql 语句必需动作 string 传给 java 本领。差异,嵌入式 sql 预处置器承诺步调员将 sql 语句径直与java 混在一道运用。比方,可在 sql 语句中运用 java 变量,用以接收或供给 sql 值。而后,嵌入式 sql 预处置器将经过 jdbc 挪用把这种 java/sql 的搀和物变换为 java。 联系数据库表到 java 类的径直映照。javasoft 和其它供给者都宣称要实行该 api。在这种“东西/联系”映照中,表中的每行对应于类的一个范例,而每列的值对应于该范例的一个属性。所以,步调员可径直对 java 东西举行操纵;存取数据所需的 sql 挪用将在“保护下”机动天生。其余还可供给更搀杂的映照,比方将多个表中的行贯串进一个 java 类中。 跟着人们对 jdbc 的爱好日益增涨,越来越多的开拓职员从来在运用鉴于 jdbc 的东西,以使步调的编写越发简单。步调员也从来在编写力求使最后用户对数据库的考察变得更为大略的运用步调。比方,运用步调可供给一个采用数据库工作的菜单。工作被选定后,运用步调将给出提醒及空缺供填写实行选定工作所需的消息。所需消息输出后,运用步调将机动挪用所需的sql 吩咐。在如许一种步调的扶助下,即运用户基础不懂 sql 的语法,也不妨实行数据库工作。 1.1.3 jdbc 与 odbc 和其它 api 的比拟 暂时,microsoft 的 odbc(盛开式数据库贯穿)api 大概是运用最广的、用来考察联系数据库的编制程序接口。它能在简直一切平台上贯穿简直一切的数据库。干什么 java 不运用 odbc? 对这个题目的回复是:java 不妨运用 odbc,但最佳是在 jdbc 的扶助下以 jdbc-odbc 桥的情势运用,这一点咱们稍后再说。此刻的题目已形成:“干什么须要 jdbc”? 回复如次: odbc 不符合径直在 java 中运用,由于它运用 c 谈话接口。从 java 挪用当地 c 代码在安定性、实行、坚忍性和步调的机动移植性上面都有很多缺陷。 从 odbc c api 到 java api 的字面翻译是不行取的。比方,java 没有南针,而 odbc 却对南针用得很普遍(囊括很简单堕落的南针 "void *")。您不妨将 jdbc 设想成被变换为面向东西接口的 odbc,而面向东西的接口对 java 步调员来说较容易接受。 odbc 很难学。它把大略和高档功效混在一道,并且纵然对于大略的查问,其选项也极为搀杂。差异,jdbc 尽管保护大略功效的简单性,而同声在需要时承诺运用高档功效。 起用“纯 java ”体制须要象 jdbc 如许的 java api。即使运用 odbc,就必需手动地将 odbc 启动步调处置器和启动步调安置在每台存户机上。即使实足用 java 编写 jdbc 启动步调则 jdbc 代码在一切 java 平台上(从搜集计划机到巨型机)都不妨机动安置、移植并保护安定性。 总之,jdbc api 对于基础的 sql 笼统和观念是一种天然的 java 接口。它创造在 odbc 上而不是从零发端。所以,熟习 odbc 的步调员将创造 jdbc 很简单运用。jdbc 保持了 odbc 的基础安排特性;究竟上,两种接口都鉴于 x/open sql cli(挪用级接口)。它们之间最大的辨别在乎:jdbc 以 java 作风与便宜为普通并举行优化,所以越发容易运用。 迩来,microsoft 又引进了 odbc 除外的新 api: rdo、 ado 和 ole db。那些安排在很多上面与 jdbc 是沟通的,即它们都是面向东西的数据库接口且鉴于可在 odbc 上实行的类。但在那些接口中,咱们未瞥见有更加的功效使咱们要转而采用它们来代替 odbc,更加是在 odbc 启动步调已创造起较为完备的商场的情景下。它们最多也即是在 odbc 上加了一种化妆罢了。这并不是说 jdbc 不须要从其首先的本子再兴盛了;但是,咱们感触大部份的新功效应归入诸如前一节中所述的东西/联系映照和嵌入式 sql 如许的高档 api。 1.1.4 两层模子和三层模子 jdbc api 既扶助数据库考察的两层模子,同声也扶助三层模子。 在两层模子中,java applet 或运用步调将径直与数据库举行对话。这将须要一个 jdbc 启动步调来与所考察的特定命据库处置体例举行通信。用户的 sql 语句被送往数据库中,而其截止将被送回给用户。数据库不妨坐落另一台计划机上,用户经过搜集贯穿到上头。这就叫作客户机/效劳器摆设,个中用户的计划机为存户机,供给数据库的计划机为效劳器。搜集不妨是 intranet(它可将公司人员贯穿起来),也不妨是 internet。 在三层模子中,吩咐先是被发送给效劳的“中央层”,而后由它将 sql 语句发送给数据库。数据库对 sql 语句举行处置并将截止送回到中央层,中央层再将截止送回给用户。mis 主管们都创造三层模子很招引人,由于可用中央层来遏制对公司数据的考察和可作的的革新的品种。中央层的另一个长处是,用户不妨运用容易运用的高档 api,而中央层将把它变换为相映的初级挪用。结果,很多情景下三层构造可供给少许本能上的长处。 到暂时为止,中央层常常都用 c 或 c++ 这类谈话来编写,那些谈话实行速率较快。但是,跟着最优化编写翻译器(它把 java字节代码变换为高效的一定于呆板的代码)的引入,用 java 来实行中央层将变得越来越本质。这将是一个很大的超过,它使人们不妨充溢运用 java 的诸多便宜(如坚忍、多线程和安定等特性)。jdbc 对于从 java 的中央层来考察数据库特殊要害。 1.1.5 sql 的普遍性 构造化查问谈话 (sql) 是考察联系数据库的规范谈话。艰巨之处在乎:固然大普遍的 dbms (数据库处置体例)对其基础功效都运用了规范情势的 sql,但它们却不适合迩来为更高档的功效设置的规范 sql 语法或语义。比方,并非一切的数据库都扶助积聚步调或外部贯穿,那些扶助这一功效的数据库又彼此不普遍。人们蓄意 sql 中真实规范的那部份不妨举行扩充以囊括越来越多的功效。但同声 jdbc api 又必需扶助现有的 sql。 jdbc api 处置这个题目的一种本领是承诺将任何查问字符串从来传到所波及的 dbms 启动步调上。这表示着运用步调不妨运用大肆多的 sql 功效,但它必需冒如许的危害:有大概在某些 dbms 上堕落。究竟上,运用步调查问以至不确定假如 sql,大概说它不妨是个为一定的 dbms 安排的 sql 的专用派底栖生物(比方,文书档案或图象查问)。 jdbc 处置 sql 普遍性题目的第二种本领是供给 odbc 作风的转义子句。这将在 4.1.5 节“语句东西中的 sql 转义语法”中计划。 转义语法为几个罕见的 sql 分别供给了一种规范的 jdbc 语法。比方,对日子笔墨和已积聚进程的挪用都有转义语法。 对于搀杂的运用步调,jdbc 用第三种本领来处置 sql 的普遍性题目。它运用 databasemetadata 接口来供给对于 dbms 的刻画性消息,进而使运用步调能符合每个 dbms 的要乞降功效。 因为 jdbc api 将用作开拓高档数据库考察东西和 api 的普通 api,所以它还必需提防其一切表层兴办的普遍性。“适合 jdbc 规范tm" 代办用户可依附的 jdbc 功效的规范级别。要运用这一证明,启动步调起码必需扶助 ansi sql-2 entry level(ansi sql-2 代办美利坚合众国国度规范局 1992 年所沿用的规范。entry level 代办 sql 功效的一定清单)。启动步调开拓职员可用 jdbc api 所带的尝试东西包来决定她们的启动步调能否适合那些规范。 “适合 jdbc 规范tm” 表白供给者的 jdbc 实行仍旧经过了 javasoft 供给的普遍性尝试。那些普遍性尝试将查看 jdbc api 中设置的一切类和本领能否都生存,并尽大概地查看步调能否具备 sql entry level 功效。固然,那些尝试并不实足,并且 javasoft 暂时也偶尔对各供给者的实行举行标级。但这种普遍性设置简直可对 jdbc 实行供给确定的确凿度。跟着越来越多的数据库供给者、贯穿供给者、internet 供给者和运用步调编制程序员对 jdbc api 的接收,jdbc 也正赶快变成 java 数据库考察的规范。 1.2 jdbc 产物 在编写正文时,有几个鉴于 jdbc 的产物已开拓结束或正在开拓中。固然,本节中的消息将很快变成落伍消息。所以,相关最新的消息,请查看 jdbc 的网站,可经过从以次 url 发端欣赏找到: http://java.sun.com/products/jdbc 1.2.1 javasoft 框架 javasoft 供给三种 jdbc 产物组件,它们是 java 开拓东西包 (jdk) 的构成部份: jdbc 启动步调处置器, jdbc 启动步调尝试东西包,和 jdbc-odbc 桥。 jdbc 启动步调处置器是 jdbc 体制构造的维持。它本质上很小,也很大略;其重要效率是把 java 运用步调贯穿到精确的jdbc 启动步调上,而后即退出。 jdbc 启动步调尝试东西包为使 jdbc 启动步调运转您的步调供给确定的确凿度。惟有经过 jdbc 启动步调尝试包的启动步调才被觉得是适合 jdbc 规范tm 的。 jdbc-odbc 桥使 odbc 启动步调可被用作 jdbc 启动步调。它的实行为 jdbc 的赶快兴盛供给了一条道路,其深刻目的供给一种考察某些不罕见的 dbms(即使对那些不罕见的 dbms 未实行 jdbc) 的本领。 1.2.2 jdbc 启动步调的典型 咱们暂时所清楚的 jdbc 启动步调可分为以次四个品种: jdbc-odbc 桥加 odbc 启动步调:javasoft 桥产物运用 odbc 启动步调供给 jdbc 考察。提防,必需将 odbc 二进制代码(很多情景下还囊括数据库存户机代码)加载到运用该启动步调的每个存户机上。所以,这种典型的启动步调最符合于企业网(这种搜集上存户机的安置不是重要题目),大概是用 java 编写的三层构造的运用步调效劳器代码。 当地 api - 部份用 java 来编写的启动步调: 这种典型的启动步调把存户机 api 上的 jdbc 挪用变换为 oracle、 sybase、informix、db2 或其它 dbms 的挪用。提防,象桥启动步调一律,这种典型的启动步调诉求将某些二进制代码加载到每台存户机上。 jdbc 搜集纯 java 启动步调:这种启动步调将 jdbc 变换为与 dbms 无干的搜集和议,之后这种和议又被某个效劳器变换为一种 dbms 和议。这种搜集效劳器中央件不妨将它的纯 java 存户机贯穿到多种各别的数据库上。所用的简直和议在于于供给者。常常,这是最为精巧的 jdbc 启动步调。有大概一切这种处置计划的供给者都供给符合于 intranet 用的产物。为了使那些产物也扶助 internet 考察,它们必需处置 web 所提出的安定性、经过风火墙的考察等上面的特殊诉求。几家供给者正将 jdbc 启动步调加到她们现有的数据库中央件产物中。 当地和议纯 java 启动步调:这种典型的启动步调将 jdbc 挪用径直变换为 dbms 所运用的搜集和议。这将承诺从存户机呆板上径直挪用 dbms 效劳器,是 intranet 考察的一个很适用的处置本领。因为很多如许的和议都是专用的,所以数据库供给者本人将是重要根源,有几家供给者已在发端做这件事了。 结果,咱们估计第 3、4 类启动步调将变成从 jdbc 考察数据库的首要选择本领。第 1、2 类启动步调在径直的纯 java 启动步调还没有挂牌前将会动作过度计划来运用。对第 1、2 类启动步调大概会有少许变种(下表中未列出),那些变种诉求有贯穿器,但常常那些是越发不行取的处置计划。第 3、4 类启动步调供给了 java 的一切便宜,囊括机动安置(比方,经过运用 jdbc 启动步调的 applet applet来载入该启动步调)。 下表表露了这 4 种典型的启动步调及其属性: 启动步调品种 纯 java? 搜集和议 1 - jdbc-ocbc 桥 非 径直 2 - 鉴于当地 api 的 非 径直 3 - jdbc 搜集的 是 诉求贯穿器 4 - 鉴于当地和议的 是 径直 1.2.3 jdbc 启动步调的获得 在编写正文时,已有几十个属于品种的启动步调,即可与 javasoft 桥共同运用的 1: odbc 启动步调的启动步调。有大概十多个属于品种 2 的启动步调是以 dbms 的当地 api 为普通编写的。惟有几个属于品种 3 的启动步调。暂时至罕见 2 个属于品种 4 的启动步调,但到 1997 年终,咱们估计重要的 dbms 城市有品种 4 的启动步调。 要获得对于启动步调的最新消息,请查看 jdbc 的网站,其网址为: http:// java.sun.com/products/jdbc。供给第 3 种启动步调的首批供给者是 sco、open horizon、visigenic 和 weblogic。javasoft 和数据库贯穿的超过供给者 intersolv协作研制了 jdbc-odbc 桥和 jdbc 启动步调尝试东西包。 1.2.4 其它产物 百般 jdbc 运用步调的开拓东西正在开拓中。请提防查看 javasoft 网页以获得革新消息。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.