第14章jdbc剖析

上传人:今*** 文档编号:106171236 上传时间:2019-10-14 格式:DOC 页数:27 大小:667KB
返回 下载 相关 举报
第14章jdbc剖析_第1页
第1页 / 共27页
第14章jdbc剖析_第2页
第2页 / 共27页
第14章jdbc剖析_第3页
第3页 / 共27页
第14章jdbc剖析_第4页
第4页 / 共27页
第14章jdbc剖析_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《第14章jdbc剖析》由会员分享,可在线阅读,更多相关《第14章jdbc剖析(27页珍藏版)》请在金锄头文库上搜索。

1、第14章 JDBC本章导学随着Java技术的迅速发展与广泛应用,各种主流数据库系统都支持基于Java语言的访问与操作,JDBC是一组用于在Java环境中进行数据库访问的Java类。本章主要学习JDBC API,结合实例学习如何通过JDBC-ODBC桥接的方式以及SQL Server专用驱动的方式连接数据库、执行SQL语句及处理查询结果,还将学习如何通过JDBC API类调用存储过程。通过本章的学习可以掌握如何使用JDBC来开发数据库应用,熟悉JDBC API的核心类,并掌握如何利用Java语言实现数据库连接以及对数据库进行增删改查等操作。本章知识点知识点重要等级难度等级JDBC概述连接数据库数

2、据库驱动程序创建ODBC数据源DriverManagerConnection查询数据库StatementPreparedStatementCallableStatement ResultSet更新数据库14.1 JDBC概述随着Java语言应用的日益广泛,越来越多的应用软件使用Java作为开发语言,其中包括大量基于数据库的应用程序。JDBC是Sun公司所开发的基于Java语言的数据库应用程序开发接口。JDBC的全称为Java DataBase Connectivity,即Java数据库连接,它是Java应用程序与数据库系统通信的标准API(Application Program Interfa

3、ce,应用程序接口),它与具体的数据库管理系统DBMS的类型无关,无论数据库是MS SQL Server还是Oracle或是MySQL,都可以通过JDBC实现Java程序与数据库之间的访问和操作,作为程序员无需为访问SQL Server数据库专门写一个程序,而为访问Oracle数据库又专门写另一个程序来实现相同功能,只需用JDBC编写一个程序,而使用不同的数据库驱动程序连接数据库即可。JDBC应用程序结构如图14-1所示:图14-1 JDBC应用程序结构JDBC由一组通过Java语言编写的类和接口组成,它为数据库开发人员提供了一个标准的API。简单说来,JDBC可以做三件事情,分别是与数据库建

4、立连接、发送SQL语句给数据库并且处理数据库操作结果。其基本工作方式如下:首先加载数据库的JDBC驱动程序,然后建立数据库连接对象,由连接对象建立语句对象及结果集对象(如果是查询语句,结果集对象表示从数据库中取出的记录集),通过语句对象和结果集对象进行各种数据库操作,最后需要关闭连接对象。使用JDBC时需要在Java程序中导入java.sql包,即JDBC核心API,在JDK的java.sql包中包含了连接数据库的类、将嵌入式的SQL语句发送给数据库的类以及处理查询结果的类。必要时可能需要导入包javax.sql,即扩展API。在本章将学习如果通过JDK中提供的类和接口来实现对数据库的操作。1

5、4.2 连接数据库 如果希望通过Java应用程序来访问和操作数据库,首先应该建立数据库连接,通过数据库连接Java代码可以和数据库进行通信。数据库连接是对数据库进行操作的第一步,在JDBC中提供了几种数据库连接方式,它们的主要区别在于数据库驱动程序程序不一样,下面将首先学习数据库驱动程序。14.2.1 数据库驱动程序通常,数据库生产厂商如Microsoft、Oracle、Sybase等公司会为自己的数据库管理系统如SQL Server、Oracle、Sybase等提供一组专用的API来访问数据库。数据库驱动程序主要分为三类,分别是:(1) JDBC-ODBC桥;(2) 数据库厂商驱动;(3)

6、中间件访问。在本课中将重点学习使用前两种驱动程序来实现数据库连接。1. JDBC-ODBC桥ODBC全称为Open Database Connectivity,即开放数据库互连,它是Micorosoft公司开发的开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API,这些API利用SQL语句来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句发送给ODBC。基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的

7、数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论数据库是SQL Server、MySQL还是Oracle,均可用ODBC API进行访问。因此,ODBC的最大优点是能以统一的方式处理所有的数据库,但是它的缺点是执行效率比较低。不同于ODBC,JDBC只支持Java应用程序。在使用JDBC的Java应用程序中,客户端程序中只能调用JDBC的语句,因此需要在JDBC与ODBC之间建立一种连接关系,JDBC-ODBC桥由此诞生。通过JDBC-ODBC桥可以将JDBC操作翻译成对应的ODBC调用。JDBC-ODBC桥是在JDBC刚刚诞生时广泛使用的一种数据库访问技术。通过JDBC-OD

8、BC桥,开发人员可以使用JDBC来访问一个ODBC数据源。JDBC-ODBC桥结构示意图如图14-2所示。14-2 JDBC-ODBC桥结构示意图2. 数据库厂商驱动数据库厂商驱动使用Java实现与数据库厂商专用API的混合形式来提供数据访问,它比JDBC-ODBC桥方式快。现在大多数的数据库厂商都在其数据库产品中提供驱动程序,这种使用方式比JDBC-ODBC桥方式有效。由于此类驱动程序是数据库厂商提供的,因此它能够实现对于本公司数据库系统的最优化访问。但是这些驱动程序和厂商专用的API必须在每个运行Java应用程序的客户端安装。不同类型的数据库其驱动程序不相同,如Microsoft公司提供了

9、专属于SQL Server数据库的驱动程序,Oracle提供了专属于Oracle数据库的驱动程序。这类驱动程序的弹性较差,由于是数据库厂商自己提供的专属驱动程序,为此往往只适用于自己的数据库系统,甚至只适合某个版本的数据库系统。如果后台数据库换了一个或者版本升级了,则就有可能需要更换数据库驱动程序。厂商驱动连接结构示意图如图14-3所示。14-3 厂商驱动连接结构示意图在本课中将主要学习如何使用JDBC来操作MS SQL Server数据库,因此需要首先在网络上下载对应的、由Microsoft提供的专属于SQL Server数据库的驱动程序API,在该API中包含了三个包,分别是msbase.

10、jar、mssqlserver.jar和msutil.jar,在使用厂商驱动连接数据库时需要在Java应用程序运行环境中添加这三个包,否则将无法找到对应的驱动程序类。14.2.2 创建ODBC数据源在使用JDBC-ODBC桥连接数据库的过程中,首先需要创建ODBC数据源,其创建过程分为以下几个步骤:1. 在控制面板上选择“管理工具”,双击“数据源(ODBC)图标”,如图14-4所示。图14-4 “数据源(ODBC)”图标2. 在“ODBC数据源管理器”的“用户DSN”选项卡中单击“添加”按钮,如图14-5所示。图14-5 “ODBC数据源管理器”窗口3. 从弹出的“创建新数据源”窗口的数据源名

11、称列表中选择“SQL Server”并单击“完成”按钮,如图14-6所示。图14-6 “创建新数据源”窗口4. 在弹出的“创建到SQL Server的新数据源”窗口的“名称”文本框输入自定义的数据源名称,在“服务器”列表中选择想连接的服务器名,如果是本机数据源,输入点号(.)或者选择“(local)”,然后单击“下一步”按钮,如图14-7所示。图14-7 “创建到SQL Server的新数据源”窗口一5. 在“创建到SQL Server的新数据源”对话框里选择“使用用户输入登录ID和密码的SQL Server验证”选项,输入登录SQL Server数据库的“登录ID”和“密码”,然后单击“下一

12、步”按钮,如图14-8所示。图14-8 “创建到SQL Server的新数据源”窗口二6. 在“更改默认的数据库为:”下拉列表中选择想使用的数据库,其余选项保持默认设置,单击“下一步”按钮,如图14-9所示。图14-9 “创建到SQL Server的新数据源”窗口三7. 保持该窗口的默认设置,单击“完成”按钮,如图14-10所示。图14-10 “创建到SQL Server的新数据源”窗口四8. 在弹出的“ODBC Microsoft SQL Server安装”窗口中单击“测试数据源”按钮,如图14-11所示,检查与数据库连接是否成功,如果提示如图14-12所示窗口,则表示数据库连接测试成功,单

13、击“确定”即完成ODBC数据源的全部创建过程。图14-11 “ODBC Microsoft SQL Server安装”窗口图14-12 “SQL Server ODBC数据源测试”窗口ODBC数据源创建成功后,Java应用程序就可以使用该数据源实现与数据库的通信。14.2.3 驱动程序管理器 连接是Java应用程序与数据库之间的通信,它由JDBC驱动程序建立,因此需要首先在系统中加载JDBC驱动程序。数据库连接是数据库操作的第一步,在连接过程中一般需要使用驱动程序管理器DriverManager和连接对象Connection。DriverManager(驱动程序管理器)类是JDBC的管理层,作

14、用于用户和驱动程序之间。它可以跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接。在Java程序中,可以通过Class类的静态方法forName()方法来加载驱动程序。如果使用JDBC-ODBC桥,可以使用如下代码来注册数据库驱动程序:try/加载驱动程序,使用JDBC-ODBC桥连接SQL Server数据库Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);catch(ClassNotFoundException e) System.out.println(Driver not found!);如果使用Microsoft提供的专用SQL Serv

15、er驱动,可以使用如下代码来加载数据库驱动程序:try/加载驱动程序,使用Microsoft公司提供的专用驱动程序连接SQL Server数据库Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);catch(ClassNotFoundException e) System.out.println(Driver not found!);在加载驱动程序后,通过调用DriverManager类的静态方法getConnection()来获取数据库连接对象Connection,该方法能够定位到连接数据库驱动程序。DriverManager类的getConnection()方法有如下两种常用的重载方式:(1) static Connection getConnection(String URL):该方法尝试建立一个连接到指定URL的数据库。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号