第10章 Java数据库编程与数据结构PPT课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.1.1 为什么采用JDBC
综上所述,由于没有一个Java语言的API,编程人员不得不在Java程序 中加入C语言的ODBC函数调用。这就使很多Java的优秀特性无法充分 发挥,比如平台无关性、面向对象特性等。随着越来越多的编程人员 对Java语言的日益喜爱,越来越多的公司在Java程序开发上投入的精力 日益增加,对以Java语言为接口的数据库应用程序开发接口的要求越 来越强烈。基于上述原因,SUN公司决定开发Java API。在JDK1.1公 布时,SQL类包(也就是JDBC API)已成为Java语言的标准部件。
1024处理查询结果图105选择sqlserver驱动1024处理查询结果图106填写数据源名称和服务器名称1024处理查询结果图107填写登录sqlserver的idhao和密码1024处理查询结果图108选择要连接的数据库名称1024处理查询结果图109一些常规配置1024处理查询结果图1010配置完成后测试数据源1024处理查询结果图1011测试成功1024处理查询结果图1012返回odbc数据源管理器程序代码查看例1031024处理查询结果一旦连接到数据库就可以请求表名以及表列的名称和内容等信息而且可以运行sql语句来查询数据库或者添加或修改其内容
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 目前只有Sun公司提供这类驱动,使用这种驱动基本上是 在Windows操作系统上,而且在连接数据库之前必须配置 好ODBC 数据源。 第二种:加载JDBC驱动类
用法:Class.forName("jdbc.Driver_class_name")
(4)JDBC这样的Java API对于纯Java方案来说是必须的。当使用 ODBC时,人们必须在每一台客户机上安装ODBC驱动器和驱动管理 器。如果JDBC驱动器是完全用Java语言实现的话,那么JDBC的代码就 可以自动的下载和安装,并保证其安全性,而且,这将适应任何Java 平台,从网络计算机NC到大型主机Mainframe。
JDBC应用程序 JDBC驱动程序管理器 基于Java的接插驱动程序
DBMS服务器 图10-4 本地协议纯Java驱动
10.2 JDBC编程的基本步骤
10.2.1 数据库URL 10.2.2 装载驱动程序并建立连接 10.2.3 执行SQL语句 10.2.4 处理查询结果
10.2.1 数据库URL
驱动程序的选择往往是比较难以定夺的事情,
一般来说,第二种驱动程序具有多年使用的
提示优:势,而第四种驱动程序由于避开了本地代 两层码模存型在和的三隐层患模,型相对来说可能比较好,而且 当数比据较库容和易查移询植它。的JD应B用C应程用序程在序同J一D台BC机驱器动上程,而且 没有序服管务理器器代基码于的Ja干va预的时接,插我驱们动将程生序成D的BM程S序服称为两 层模务型器。图一10层-4是本应地用协程议序纯,Ja而va另驱一动层。是数据库。在 JD如BC果-O不D是BC特桥别系强统调中高通性常能是的这话种,情强况烈。建议采 当一用个第应四用种程类序型或的驱Ap动pl程et 序调,用它服提务供器了,第服二务种器再去 调用类数型据所库没时有,的我简们明称性其,为不三过层还模是型要。考当虑调数用据称为 “服库务厂器商”的的意程见序。时通常是这种情况。
10.1.1 为什么采用JDBC
(2)其次,完全精确地实现从C代码ODBC到Java API写的ODBC的翻 译也并不令人满意。比如,Java没有指针,而ODBC中大量地使用了 指针,包括极易出错的空指针“void*”。 (3)ODBC并不容易学习,它将简单特性和复杂特性混杂在一起,甚 至对非常简单的查询都有复杂的选项。而JDBC刚好相反,它保持了 简单事物的简单性,但又允许复杂的特性。
JDBC应用程序 JDBC驱动程序管理器 DBMS厂商客户机方案
DBMS服务器
图10-2 本地Java驱动
10.1.3 JDBC驱动程序
第三种,驱动程序支持三层结构的访问方式:
在Java的早期阶段,Applet非常流行的时候,需要用Applet直接访 问数据库,然而Applet安全模式禁止它访问多个Web服务器上的数 据库资源,为了解决这个问题,这个驱动程序就像Applet访问数据 库的代理,目前这种形式的驱动程序已经很少用。如图10-3所示
10.2.2 装载驱动程序并建立连接
JDBC应用需要做的第一事情是与想要使用的DBMS建立一个连接。这 包含 2 个步骤:加载驱动程序并建立连接。
1.加载驱动程序 加载驱动程序只需要非常简单的一行代码,利用Class类中的静 态方法forName,即可加载要使用的Driver。根据驱动的不同, 加载驱动的方法分为两种: 第一种:加载JDBC-ODBC 桥驱动程序, 可以用下列代码加 载它:
10.1.3 JDBC驱动程序
第一种,JDBC-ODBC桥: 这是Sun公司最早实现的JDBC 驱动程序,主要目的在于快速推广 JDBC,以便业界接纳这个标准。实际上这种驱动程序就是把JDBC API映射到ODBC API上。就目前的使用上来看,这种形式的驱动 程序已经很少使用了。更何况,Sun所提供的ODBC-JDBC桥不是 多线程的,也就是说它不适合在需要并发执行的企业级应用中使 用。如图10-1所示。 ODBC数据库JDBC应用程序JDBC驱动程序管理器ODBC驱动程序 JDBC/ODBC桥接器图10-1 JDBC/ODBC桥驱动JDBC应用程序 JDBC驱动程序管理器DBMS厂商客户机方案DBMS服务器图10-2 本 地Java驱动
10.1.2 JDBC技术概述
JDBC是一种可用于执行SQL语句的Java API。它由一些Java语言写的类、 界面组成。JDBC给数据库应用开发人员、数据库前台工具开发人员 提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言 编写完整的数据库应用程序。
通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一 种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写 另一个程序访问Oracle,再写一个程序访问Microsoft的SQL Server。用 JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统 (DBMS)。不但如此,使用Java编写的应用程序可以在任何支持Java 的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的 结合可以让开发人员在开发数据库应用时真正实现“Write Once,Run Everywhere!”
本章知识点
JDBC的概念 加载JDBC数据库驱动 使用JDBC连接数据库 对数据库内容的操作
10.1 JDBC概述
10.1.1 为什么采用JDBC 10.1.2 JDBC技术概述 10.1.3 JDBC驱动程序
10.1.1 为什么采用JDBC
说到JDBC,很容易让人联想到另一个十分熟悉的字眼“ODBC”。它 们之间有怎样的关系呢? ODBC是用C语言实现的标准应用程序数据 接口。通过ODBC API(Application Programming Interface,应用程序 设计接口),应用程序可以存取保存在多种不同数据库管理系统 (DBMS)中的数据,而不论每个DBMS使用了哪种数据存储格式和 编程接口。
JDBC应用程序 JDBC驱动程序管理器 JDBC/ODBC桥接器
ODBC驱动程序
ODBC数据库 图10-1 JDBC/ODBC桥驱动
10.1.3 JDBC驱动程序
第二种,把JDBC API直接映射到数据库厂商提供的专属客户机API: 这是目前在企业级应用中使用最为广泛的一种,也具有多年使用 的优势。每个驱动程序都包含针对特定数据库平台的本地代码库, 用于访问数据库特定的客户机API。对于Oracle而言,这个本地代 码库称为Oracle客户机接口(Oracle Client Interface,OCI)。 WebLogic提供了第二种类型的驱动程序,用于支持Oracle数据库。 如图10-2所示。
Class.forName(".DB2Driver"); 如果使用Oracle,将用以下的代码装载驱动程序:
Class.forName( "oracle.jdbc.driver.OracleDriver" ); 由于使用了利用纯Java代码开发的驱动程序,所以这种方法很适合跨 平台使用。
10.1.2 JDBC技术概述
Java具有健壮、安全、易用等特性,而且支持自动网上下载,本质上 是一种很好的数据库应用的编程语言。它所需要的是Java应用如何同 各种各样的数据库连接,JDBC扩展了Java的能力,正是实现这种连接 的关键。 JDBC能让我们完成下列三件事情:
与数据库建立连接; 向数据库发送SQL语句,操作数据库及数据表; 接收及处理数据库所执行的结果。 JDBC有相应的类来完成上述事情: 利用Connection类来创建数据库连接; 利用Statement类来传送SQL命令给数据库,操作数据库及数据表; 利用ResultSet来接收及处理数据库所执行的结果。
JDBC应用程序 JDBC驱动程序管理器 独协协议议处翻理译器器 DBMS客户机方案
图10-3 网络纯Java驱动
DBMS服务器
10.1.3 JDBC驱动程序
第四种,直接与数据库交互的JDBC驱动程序:
这种驱动程序是纯Java的,而且是智能型的,它能够知道数据库实 例到底使用哪一种底层协议。由于Java虚拟机(Java Virtual Machine, JVM)的不断完善,由于它自身的简洁性和易用性,目前已经成 为市场上的最有吸引力的选择。如图10-4所示
第10章 Java数据库编程与数据结构
10.1 JDBC概述 10.2 JDBC编程的基本步骤 10.3 连接Access 数据库 10.4 连接SQL Server数据库
学习目标
理解和掌握ODBC、ODBC-JDBC桥、 JDBC的 基 本知识;
掌握如何加载一个JDBC数据库驱动; 掌握在Java中如何 通过JDBC连接数据库; 并能进行数据库编程。
数据库串是JDBC使用的数据库的URL,又称JDBC URL。当你连接到 一个数据库时,必须设定数据的来源,并且必须设定各个辅助参数。 其语法格式为:
jdbc:<subprotocol>:[node]/[database] 其中:
Subprotocol:指驱动定义的类型; Node:提供网络数据库的位置和连接端口,后面为可选参数。 然而实际的URL是很灵活的,不同的驱动会有不同的定义。具体 用法在下一节与数据库建立连接时详细讲解。
10.2.2 装载驱动程序并建立连接
所使用的驱动程序文档将告诉你应该使用的类名。 如果使用Microsoft SQL Server2000,将用以下的代码装载驱动程序:
Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" ); 如果使用DB2,将用以下的代码装载驱动程序:
到目前为止,微软的ODBC可能是用得最广泛的访问关系数据库的 API。它提供了连接几乎任何一种平台、任何一种数据库的能力。那 么,为什么在Java中不直接使用ODBC与数据库相连呢? 回答是可以在Java中使用ODBC,但最好在JDBC的协助下,用JDBC- ODBC桥接器实现。那么,为什么需要JDBC呢? (1)ODBC并不适合在Java中直接使用。ODBC是一个C语言实现的 API,从Java程序调用本地的C程序会带来一系列类似安全性、完整性、 健壮性的缺点。
第10章 Java数据库编程与数据结构
在目前的应用程序开发中,几乎所有的大型软件都要用到数据库,而 且数据库的设计与开发几乎关系到整个软件项目的成功与否。Java的兴 起和发展加速了Internet与Intranet应用的开发。越来越多的企业使用不 受平台限制的Java语言开发程序,其中也包括数据库应用程序。为了保 证Java应用程序与数据库的正常连接, SunJDBC(Java Data Base Connectivity,Java数据库连接),为各种常用数 据库提供无缝连接技术,JDBC是Java程序使用的与数据库进行通讯的 应用程序接口。JDBC在Web和Internet应用程序中的作用和ODBC在 Windows系列平台应用程序中的作用类似。ODBC(Open DataBase Connectivity),称为开放式数据库互连技术,是由 MicrosoftODBC编程的经验,就会发现JDBC与ODBC很类似。JDBC现 在可以连接的数据库包括:Oracle、SQL Server、Sybase、Aceess以及 Paradox等。