没有合适的资源?快使用搜索试试~ 我知道了~
JDBC(Java Data Base Connectivity,java数据库连接)
4星 · 超过85%的资源 需积分: 9 17 下载量 182 浏览量
2009-03-07
21:16:53
上传
评论
收藏 136KB DOC 举报
温馨提示
试读
40页
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。
资源详情
资源评论
资源推荐
( 数据库连接)是一种用于执行 语句的
,可以为多种关系数据库提供统一访问,它由一组用 语言编写的类和接口组成。 提
供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,
同时, 也是个商标名。
有了 ,向各种关系数据发送 语句就是一件很容易 的事。换言之,有了 ,
就不必为访问 数据库专门写一个程序,为访问 数据库又专门写一个程序,或为访
问 数据库又编写另一个程序等等,程序员只需用 写一个程序就够了,它可向相
应数据库发送 调用,将 语言和 结合起来使程序员只须写一遍程序就可以让它在任
何平台上运行,这也是 语言“编写一次
数据库连接体系结构是用于 应用程序连接数据库的标准方法。 对 程序员
而言是 ,对实现与数据库连接的服务提供商而言是接口模型。作为 , 为程序开发提供
标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。 使
用已有的 标准并支持与其它数据库连接标准,如 之间的桥接。 实现了所有这些面
向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
!是一种用于执行 语句的 !,它由一组用 编程语言编写的类和接
口组成。为工具"数据库开发人员提供了一个标准的 ,使他们能够用纯 来编写
数据库应用程序。
有了 ,向各种关系数据库发送 语句就是一件很容易的事。换言之,有了
,就不必为访问 数据库专门写一个程序,为访问 数据库又专门写一个程序,
为访问 数据库又写另一个程序,等等。您只需用 写一个程序就够了它可向相
应数据库发送 语句。而且,使用 编程语言编写的应用程序,就无须去忧虑要为不同的平
台编写不同的应用程序。将 和 结合起来将使程序员只须写一遍程序就可让它在任何平
台上运行。
具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用
程序的杰出语言。所需要的只是 应用程序与各种不同数据库之间进行对话的方法。而
正是作为此种用途的机制。
扩展了 的功能。例如,用 和 可以发布含有 ##的网页,而该
##使用的信息可能来自远程数据库企业也可以用 通过 将所有职员连到一个或
多个内部数据库中(即使这些职员所用的计算机有 $%&、 !'和 ()*等各种不同的
操作系统)。随着越来越多的程序员开始使用 编程语言,对从 中便捷地访问数据库的要
求也在日益增加。
!管理员们都喜欢 和 的结合,因为它使信息传播变得容易和经济。企业可继续
使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。
新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,
然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,
和 可为外部客户提供获取信息更新的更好方法。
一、的用途
简单地说,可做三件事:与数据库建立连接、发送 语句并处理结果。下列代码段给
出了以上三步的基本示例:
+!,-,(.%:%:&.,.,.,
.#&%.);
+-();
/0+-00(.11 , , 2/! 3.);
&'(-()) 4
+-,(..);
,+-,,(..);
5+-,2(..);
6
上述代码对基于 的数据库访问做了经典的总结,当然,在本小节的后续部分会对它做详
尽的分析讲解。
二、
是个.低级.接口,也就是说,它用于直接调用 命令。在这方面它的功能极佳,并比
其它的数据库连接 易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口
和工具。高级接口是.对用户友好的.接口,它使用的是一种更易理解和更为方便的 ,这种
在幕后被转换为诸如 这样的低级接口。
在关系数据库的.对象"关系.映射中,表中的每行对应于类的一个实例,而每列的值对应于该实
例的一个属性。于是,程序员可直接对 对象进行操作;存取数据所需的 调用将在.掩盖
下.自动生成。此外还可提供更复杂的映射,例如将多个表中的行结合进一个 类中。
随着人们对 的兴趣日益增涨,越来越多的开发人员一直在使用基于 的工具,以使
程序的编写更加容易。程序员也一直在编写力图使最终用户对数据库的访问变得更为简单的应用程
序。例如应用程序可提供一个选择数据库任务的菜单。任务被选定后,应用程序将给出提示及空白
供填写执行选定任务所需的信息。所需信息输入应用程序将自动调用所需的 命令。在这样一
种程序的协助下,即使用户根本不懂 的语法,也可以执行数据库任务。
三、 与 和其它 的比较
目前,!的 可能是使用最广的、用于访问关系数据库的编程接口。它能在
几乎所有平台上连接几乎所有的数据库。为什么 不使用 ?对这个问题的回答是:
可以使用 ,但最好是在 的帮助下以 7桥的形式使用,这一点我们稍后再
说。现在的问题已变成:.为什么需要 .?答案是显然的:不适合直接在 中使用,
因为它使用 语言接口。从 调用本地 代码在安全性、实现、坚固性和程序的自动移植性方
面都有许多缺点。从 到 的字面翻译是不可取的。例如,没有指针,
而 却对指针用得很广泛(包括很容易出错的指针.%8.)。您可以将 想象成被转换
为面向对象接口的 ,而面向对象的接口对 程序员来说较易于接收。
很难学。它把简单和高级功能混在一起,而且即使对于简单的查询,其选项也极为复杂。
相反,尽量保证简单功能的简便性,而同时在必要时允许使用高级功能。启用.纯 .机制
需要象 这样的 。如果使用 ,就必须手动地将 驱动程序管理器和驱动
程序安装在每台客户机上。如果完全用 编写 驱动程序则 代码在所有 平台
上(从网络计算机到大型机)都可以自 动安装、移植并保证安全性。
总之,对于基本的 抽象和概念是一种自然的 接口。它建立在 上
而不是从零开始。因此,熟悉 的程序员将发现 很容易使用。保留了 的
基本设计特征;事实上,两种接口都基于 *"#(调用级接口)。它们之间最大的区别
在于:以 风格与优点为基础并进行优化,因此更加易于使用。
目前,!又引进了 之外的新 : /、 和 1。这些设计在许
多方面与 是相同的,即它们都是面向对象的数据库接口且基于可在 上实现的类。但
在这些接口中,我们未看见有特别的功能使我们要转而选择它们来替代 ,尤其是在
驱动程序已建立起较为完善的市场的情况下。它们最多也就是在 上加了一种装饰而已。
四、 对 " 和 " 模式的支持
既支持数据库访问的两层模型("),同时也支持三层模型(")。在两层模型
中,## 或应用程序将直接与数据库进行对话。这将需要一个 驱动程序来与所访问
的特定数据库管理系统进行 通讯。用户的 语句被送往数据库中,而其结果将被送回给用户。
数据库可以位于另一台计算机上,用户通过网络连接到上面。这就叫做客户机"服务器配置,其中用
户的计算机为客户机,提供数据库的计算机为服务器。网络可以是 (它可将公司职员连接
起来),也可以是 。
在三层模型中,命令先是被发送到服务的.中间层.,然后由它将 语句发送给数据库。数据
库对 语句进行处理并将结果送回到中间层,中间层再将结果送回给用户。!主管们都发现
三层模型很吸引人,因为可用中间层来控制对公司数据的访问和可作的的更新的种类。中间层的另
一个好处是,用户可以利用易于使用的高级 ,而中间层将把它转换为相应的低级调用。最后,
许多情况下三层结构可提供一些性能上的好处。
到目前为止,中间层通常都用 或 99这类语言来编写,这些语言执行速度较快。然而,随
着最优化编译器(它把 字节代码转换为高效的特定于机器的代码)的引入,用 来实现中
间层将变得越来越实际。这将是一个很大的进步,它使人们可以充分利用 的诸多优点(如坚
固、多线程和安全等特征)。对于从 的中间层来访问数据库非常重要。
五、的一致性
结构化查询语言 () 是访问关系数据库的标准语言。困难之处在于:虽然大多数的
!(数据库管理系统)对其基本功能都使用了标准形式的 ,但它们却不符合最近为更高
级的功能定义的标准 语法或语义。例如,并非所有的数据库都支持储存程序或外部连接,那
些支持这一功能的数据库又相互不一致。人们希望 中真正标准的那部份能够进行扩展以包括
越来越多的功能。但同时 又必须支持现有的 。
解决这个问题的一种方法是允许将任何查询字符串一直传到所涉及的 !驱
动程序上。这意味着应用程序可以使用任意多的 功能,但它必须冒这样的风险:有可能在某
些 !上出错。事实上,应用程序查询甚至不一定要是 ,或者说它可以是个为特定的
!设计的 的专用派生物(例如,文档或图象查询)。
处理 一致性问题的第二种方法是提供 风格的转义子句,这将在后续部分中
讨论。转义语法为几个常见的 分歧提供了一种标准的 语法。例如,对日期文字和已储
存过程的调用都有转义语法。
对于复杂的应用程序,用第三种方法来处理 的一致性问题它利用
!接口来提供关于 !的描述性信息,从而使应用程序能适应每个 !
的要求和功能。
由于 将用作开发高级数据库访问工具和 的基础 ,因此它还必须注意其所有
上层建筑的一致性。.符合 标准 !.代表用户可依赖的 功能的标准级别。要使用这一
说明,驱动程序至少必须支持 )7:1()7:代表美国国家标准局
3;;:年所采用的标准。1 代表 功能的特定清单)。驱动程序开发人员可用
所带的测试工具包来确定他们的驱动程序是否符合这些标准。
.符合 标准 !.表示提供者的 实现已经通过了 提供的一致性测试。这
些一致性测试将检查 中定义的所有类和方法是否都存在,并尽可能地检查程序是否具有
1功能。当然,这些测试并不完全,而且 目前也无意对各提供者的实现
进行标级。但这种一致性定义的确可对 实现提供一定的可信度。随着越来越多的数据库提供
者、连接提供者、提供者和应用程序编程员对 的接受,也正迅速成为
数据库访问的标准。
六、入门 77建立联接
教程:入门 作者:!%2'翻译:
你需要做的第一事情是你与想要使用的 !建立一个连接。这包含 :个步骤:装载驱动程
序并建立连接。
装载驱动程序
装载驱动程序只需要非常简单的一行代码。例如,你想要使用 7桥驱动程序可以
用下列代码装载它:
-)<.0-%-%-%%.=>
你的驱动程序文档将告诉你应该使用的类名。例如, 如果类名是 %-*?@,你将用代
码以下的代码装载驱动程序:
-)<.%-*?@.=>
你不需要创建一个驱动程序类的实例并且用 !,登记它,因为调用
-)将自动将加载驱动程序类。如果你曾自己创建实例,你将创建一个不必要的副本,
但它不会带来什么坏处。
加载 类后,它们即可用来与数据库建立连接。
建立连接
第二步就是用适当的驱动程序类与 !建立一个连接。下列代码是一般的做法:
+!,-,<0.,.
.&%.=>
这个步骤也非常简单,最难的是怎么提供 0。如果你正在使用 7桥, (/
将以 %A%开始:余下 (/通常是你的数据源名字或数据库系统。因此,假设你正在使用
存取一个叫 .2%.的 数据源,你的 (/是 %A%A2%。把
.,.及 .&%.替换为你登陆 !的用户名及口令。如果你登陆数据库系统的
用户名为 .2%.口令为 .B.,只需下面的 :行代码就可以建立一个连接:
,0+.%A%A2%.>
+!,-,<0.2%..B.=>
如果你使用的是第三方开发了的 驱动程序,文档将告诉你该使用什么 0#, 就
是在 (/中放在 %后面的部分。例如如果驱动程序开发者注册了 作为
0#, (/的第一和第二部分将是 %A。驱动程序文档也会告诉你余下
(/的格式。(/最后一部分提供了定位数据库的信息。
如果你装载的驱动程序识别了提供给 !,-,的 (/,那个
驱动程序将根据 (/建立一个到指定 !的连接。正如名称所示,!,类
在幕后为你管理建立连接的所有细节。除非你是正在写驱动程序,你可能无需使用此类的其它任何
方法,一般程序员需要在此类中直接使用的唯一方法是 !,-,。
!,-,方法返回一个打开的连接,你可以使用此连接创建
并发送 语句到数据库。在前面的例子里,对象是一个打开的连接,并且我
们要在以后的例子里使用它。
入门 77设置表
创建表
首先,我们在我们的示例数据库创建其中一张表 2211,包含在咖啡店所卖咖啡的必要的
信息,包括咖啡名字,他们的价格,本星期卖了多少磅及迄今为止卖的数目。关于 2211表我
们以后会详细描述,如下:
2C)!1(C/11
3D3E-;;DD
2'C/F;B-;;DD
剩余39页未读,继续阅读
dulylau
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论3