java与数据库连接

上传人:n**** 文档编号:58727886 上传时间:2018-11-01 格式:PPT 页数:34 大小:310.50KB
返回 下载 相关 举报
java与数据库连接_第1页
第1页 / 共34页
java与数据库连接_第2页
第2页 / 共34页
java与数据库连接_第3页
第3页 / 共34页
java与数据库连接_第4页
第4页 / 共34页
java与数据库连接_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《java与数据库连接》由会员分享,可在线阅读,更多相关《java与数据库连接(34页珍藏版)》请在金锄头文库上搜索。

1、2018/11/1 05:39,1,第10章 Java与数据库的连接,武汉大学计算机学院计算机应用系,2018/11/1 05:39,第 2 页,深入了解JDBC访问各种数据库的驱动程序的模式 熟练掌握利用JDBC访问数据库的步骤 熟练掌握JDBC完成各种数据库操作 熟练掌握Java API来编写数据库应用程序 http:/ http:/ http:/ 05:39,3,10.1 JDBC概述,2018/11/1 05:39,第 4 页,10.1.1 JBDC的用途,JDBC即Java 数据库连接 (Java Database Connectivity)。 JDBC为数据库及其工具开发人员提供了

2、一个标准的API,使他们能够用纯 Java API 来编写数据库应用程序。 在JDK的早期版本中,JDBC只是一个可选部件,到了JDK1.1公布时,SQL类包(也就是JDBC API)就成为Java语言的标准部件。 JDBC扩展了Java的功能。例如,使用Java和JDBC API可以发布含有Applet的网页,而该Applet的信息可能来自远程数据库。 使用JDBC,使信息的管理和传播变得容易和经济。,2018/11/1 05:39,第 5 页,10.1.2 从ODBC到JDBC,1. ODBC的结构模型 ODBC的结构包括4个主要部分:应用程序接口、驱动程序管理器、数据库驱动程序和数据源。

3、 应用程序接口:屏蔽不同的ODBC数据库驱动程序之间函数调用的差别,为用户提供统一的SQL编程接口。 驱动程序管理器:为应用程序装载数据库驱动程序。 数据库驱动程序:实现ODBC的函数调用,提供对特定数据源的SQL请求。如果需要,数据库驱动程序将修改应用程序的请求,使得请求符合相关的DBMS所支持的文法。 数据源:由用户想要存取的数据以及与它相关的操作系统、DBMS和用于访问DBMS的网络平台组成。,2018/11/1 05:39,第 6 页,10.1.2 从ODBC到JDBC,2. JDBC的诞生 Java 刚诞生时,由于没有一个Java语言的数据库API,编程人员不得不在Java程序中加入

4、C语言的ODBC函数调用。这就使Java的很多优秀特性无法充分发挥,如平台无关性、面向对象特性等。随着Java语言访问数据库的应用越来越多,对Java语言访问数据库API接口的要求也越来越强烈。 由于ODBC有其不足之处,如它不容易使用、没有面向对象的特性等,因而SUN公司开发了一套Java语言的数据库应用程序开发接口。在JDK的早期版本中,JDBC只是一个可选部件,到JDK 1.1公布时,SQL类包(即JDBC API)就成为Java语言的标准部件。,2018/11/1 05:39,第 7 页,10.1.3 JDBC的实现及其驱动程序,1. 专用网络协议的驱动程序与数据库直接通信 这种实现方

5、法是直接使用数据库厂商提供的、用专用网络协议创建的驱动程序,通过它可以直接将JDBC API调用转换为网络调用,其结构如图所示。这种调用方式一般性能比较好,而且也是最简单实用的方法。因为它不需要安装其他的库程序或者中间件,几乎所有的数据库厂商都为他们的数据库提供了这种JDBC驱动程序,也可以从第三方厂商获得这些驱动程序。 从网址http:/ 05:39,第 8 页,10.1.3 JDBC的实现及其驱动程序,2. 通过JDBC-ODBC桥与ODBC数据源通信 作为JDBC的一部分,SUN公司还发行了一个用于访问ODBC数据源的驱动程序,称为JDBC-ODBC桥接器。它是用jdbcodbc.c1a

6、ss和一个用于访问ODBC驱动程序的本地库来实现的。该本地库是一个动态连接库DLL(JDBCODBC.DLL)。 这个驱动程序把JDBC的方法映射到ODBC调用上,这样,JDBC就可以和任何可用的ODBC驱动程序进行交互。它使JDBC目前有能力访问几乎所有的数据库。,2018/11/1 05:39,第 9 页,10.1.3 JDBC的实现及其驱动程序,3. 通过部分专用的驱动程序与数据库通信 这种方式的特点是将JDBC数据库调用直接翻译为厂商专用的API,与上述的JDBC-ODBC桥接器相比,它的执行更有效、更快捷,其模式如图所示。,4. 这种JDBC是纯Java的,直接与数据库实例交互。,J

7、ava API-JDBC-数据库协议-数据库,2018/11/1 05:39,10,10.3 JDBC API介绍,2018/11/1 05:39,第 11 页,10.3 JDBC API介绍,JDBC API所有的类和接口都集中在Java.sql和Javax.sql这两个包中。Java.sql 这个包中包含的类和接口采用的是传统的C/S体系结构。它的功能主要针对的是基本数据库编程服务,如生成连接、执行语句以及准备语句和运行批处理查询等。也有一些其它的高级功能。 Javax.sql 它与Java.sql相比,引入了一些JDBC编程方面的主要的体系结构的改变,并且为连接管理、分布式事务处理和连接

8、提供了更好的抽象。同时,这个包还引入了容器管理的连接缓冲池、分布式事务处理和行集(row set)等机制。,2018/11/1 05:39,第 12 页,10.3 JDBC API介绍,编写简单JDBC程序的基本步骤:,2018/11/1 05:39,第 13 页,10.3.1 连接管理,要编写一个JDBC程序,首先应该将它与数据库进行连接。在连接管理这一组中,主要有下面2个类和2个接口。 java.sql.DriverManager 这个类提供了用于管理一个或多个数据库驱动程序。每个驱动程序都可以连接特定的数据库。 java.sql.DriverPropertyInfo 由于每个数据库都需要

9、一组属性以获得一条连接,这个类可用于查找连接所需要的属性。 java.sql.Driver 这是一个抽象了厂商专用连接协议的接口,可从数据库的生产厂商或第三方厂商获得该接口的实现。 java.sql.Connection 这个接口抽象了大部分与数据库的交互活动。通过一条连接,可以向数据库发送SQL语句以及读取执行的结果。,2018/11/1 05:39,第 14 页,10.3.2 数据库访问,当建立连接后,可以发送SQL语句访问数据库和读取访问的结果。 java.sql.Statement 这个接口可在基层连接上执行SQL语句并访问返回结果。 java.sql.PreparedStatemen

10、t 这是java.sql.Statement接口的一个变种,可以使用参数化SQL语句。 java.sql.CallableStatement 这个接口可运行存储过程。 java.sql.ResultSet 这个接口抽象了运行SQL select语句的结果。它提供了访问结果的方法。可以使用这个接口来访问各记录中不同的字段。,2018/11/1 05:39,15,10.4 JDBC API的使用方法,2018/11/1 05:39,第 16 页,10.4.1 JDBC API工具,1. 注册数据库的驱动程序(driver) DriverManager.registerDriver():该方法用于为

11、DriverManager对象注册特定的Driver对象。DriverManager类的方法利用已注册的驱动器表,确定是否可以连接到某数据库的URL地址。 Class.forName:通过调用方法 Class.forName显式地加载驱动程序类。由于这个调用与外部设置无关,因此推荐使用这种加载驱动程序的方法。以下代码加载类 acme.db.Driver:Class.forName(“acme.db.Driver“); 加载驱动程序的第一种方法需要持久的预设环境。如果对这一点不能保证,则调用方法 Class.forName 显式地加载每个驱动程序就显得更为安全。这也是引入特定驱动程序的方法。,2

12、018/11/1 05:39,第 17 页,10.4.1 JDBC API工具,2. 建立数据库连接的工具 ( DriverManager .getConnection) DriverManager实现了建立数据库连接的3个getConnection()方法。每个方法都返回一个Connection对象,但它们接收的参数不同。 getConnection(String url)方法只接收数据库URL作为参数,用当前的Driver对象或已注册的Driver对象表中某个对象连接指定的数据库。该方法中假定构造数据库连接时不需要用户名、口令或其他数据库属性。,2018/11/1 05:39,第 18 页

13、,10.4.1 JDBC API工具, getConnection(String url, Properties info)方法接收两个参数:数据库的URL和连接数据库所需各种属性的Properties对象。第二个参数必须是Properties对象,它包含连接指定数据库所需的所有属性项。 getConnection(String url, String user, String password)方法接收3个参数,第一个是数据库的URL,第二个说明连接数据所用的用户名;第三个是DriverManager连接数据库时所用的用户口令。,2018/11/1 05:39,第 19 页,10.4.1 J

14、DBC API工具,3. Connection对象 Connection对象是用于连接数据库和Java应用程序的主要对象。利用它可以创建所有的Statement对象,这些Statement对象用于执行SQL语句,并从数据库中读取结果。Driver对象的connect()方法和DrvierManager对象的getConnection()方法都可以创建应用程序中的Connection对象。 Connection对象提供应用程序与数据库的静态连接。除非调用Connection对象的close()方法,或者删除Connection对象才断开数据库连接,否则保持有效连接。如果数据库限制连接的数目,使用

15、静态连接过多就会存在一些问题。这时,最好只在需要时才连接数据库,并在操作完毕后断开数据库连接。,2018/11/1 05:39,第 20 页,10.4.1 JDBC API工具,4. Statement对象 连接数据库后,要执行SQL语句,得到数据库的返回结果,必须使用Statement对象。Statement对象与Connection对象一样不能直接创建,必须通过Connection对象的createStatement()方法返回个Statement对象。 利用Statement对象执行SQL查询。静态SQL语句的执行不需要接收任何参数。而动态SQL语句只有得到指定数目的参数后才是完整的SQ

16、L语句。静态SQL可以是select语句、delete语句、update语句、insert语句,甚至可以是存储过程的调用语句。update、delete和insert语句不返回任何结果,只修改数据库中的数据。select语句一般都要返回数据库中的数据。 Statement对象的主要方法如表10.1所示。,2018/11/1 05:39,第 21 页,10.4.2 连接数据库,介绍前两种方法:一种是通过JDBC驱动程序,另一种是通过JDBC-ODBC桥+ODBC驱动与数据库进行连接。以下将用两个实例来详细说明如何运用这两种方法与数据库通信。 1. 使用JDBC驱动程序连接PointBase数据库 下面这个例子是在Windows 操作系统下,使用PointBase提供的JDBC驱动连接数据库。【例10.2】 首先,安装JDBC驱动程序,把含有驱动程序的.zip或者.jar文件放到CLASSPATH下。 然后,创建一个新的数据库:运行PointBase,打开DBA菜单,选择CreateCreate New Database命令,如图10.5所示,把这个新建的数据库取名为DoMiSo。,

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

当前位置:首页 > 建筑/环境 > 电气安装工程

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