Java的数据库连接编程JDBC技术档

上传人:s9****2 文档编号:485447171 上传时间:2024-01-03 格式:DOC 页数:15 大小:69.50KB
返回 下载 相关 举报
Java的数据库连接编程JDBC技术档_第1页
第1页 / 共15页
Java的数据库连接编程JDBC技术档_第2页
第2页 / 共15页
Java的数据库连接编程JDBC技术档_第3页
第3页 / 共15页
Java的数据库连接编程JDBC技术档_第4页
第4页 / 共15页
Java的数据库连接编程JDBC技术档_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Java的数据库连接编程JDBC技术档》由会员分享,可在线阅读,更多相关《Java的数据库连接编程JDBC技术档(15页珍藏版)》请在金锄头文库上搜索。

1、Java的数据库连接编程(JDBC)技术知识要点:JDBC、JDBC的工作原理,访问数据库的方法、Statement、PreparedStatement、CallableStatement,ResultSet等对象的编程使用9.1基本知识9.1.1 JDBCJava DataBase Connectivity(Java 数据库连接技术),它是将Java与SQL结合且独立于特定的数据库系统的应用程序编程接口(API-它是一种可用于执行SQL语句的Java API,即由一组用Java语言编写的类与接口所组成)。有了JDBC从而可以使Java程序员用Java语言来编写完整的数据库方面的应用程序。另外

2、也可以操作保存在多种不同的数据库管理系统中的数据,而与数据库管理系统中数据存储格式无关。同时Java语言的与平台的无关性,不必在不同的系统平台下编写不同的数据库应用程序。 9.1.2 JDBC设计的目的(1)ODBC:微软的ODBC是用C编写的,而且只适用于Windows平台,无法实现跨平台地操作数据库。(2)SQL语言:SQL尽管包含有数据定义、数据操作、数据管理等功能,但它并不是一个完整的编程语言,而且不支持流控制,需要与其它编程语言相配合使用。(3)JDBC的设计:由于Java语言具有健壮性、安全、易使用并自动下载到网络等方面的优点,因此如果采用Java语言来连接数据库,将能克服ODBC

3、局限于某一系统平台的缺陷;将SQL语言与Java语言相互结合起来,可以实现连接不同数据库系统,即使用JDBC可以很容易地把SQL语句传送到任何关系型数据库中。(4)JDBC设计的目的:它是一种规范,设计出它的最主要的目的是让各个数据库开发商为Java程序员提供标准的数据库访问类和接口,使得独立于DBMS的Java应用程序的开发成为可能(数据库改变,驱动程序跟着改变,但应用程序不变)。9.1.3 JDBC的主要功能(1)创建与数据库的连接;(2)发送SQL语句到任何关系型数据库中;(3)处理数据并查询结果。编程实例: try Class.forName(sun.jdbc.odbc.JdbcOdb

4、cDriver); /(1)创建与数据库的连接 Connection con=DriverManager.getConnection(jdbc:odbc:DatabaseDSN,Login,Password);Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(select * from DBTableName);/(2)发送SQL语句到数据库中 while(rs.next() String name=rs.getString(Name) ; /(3)处理数据并查询结果。 int age=rs.getInt(

5、age); float wage=rs.getFloat(wage); rs.close();/(4)关闭 stmt.close(); con.close(); catch(SQLException e) System.out.println(SQLState:+ e.getSQLState(); System.out.println(Message: + e.getMessage(); System.out.println(Vendor: + e.getErrorCode();9.1.4 JDBC与ODBC的对比(1)ODBC是用C语言编写的,不是面向对象的;而JDBC是用Java编写的,是

6、面向对象的。(2)ODBC难以学习,因为它把简单的功能与高级功能组合在一起,即便是简单的查询也会带有复杂的任选项;而JDBC的设计使得简单的事情用简单的做法来完成。(3)ODBC是局限于某一系统平台的,而JDBC提供Java与平台无关的解决方案。(4)但也可以通过Java来操作ODBC,这可以采用JDBc-ODBC桥接方式来实现(因为Java不能直接使用ODBC,即在Java中使用本地C的代码将带来安全缺陷)。9.1.5 JDBC驱动程序的类型目前比较常见的JDBC驱动程序可分为以下四个种类:(1)JDBC-ODBC桥加ODBC驱动程序JavaSoft桥产品利用ODBC驱动程序提供JDBC访问

7、。注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题),或者是用Java编写的三层结构的应用程序服务器代码。JDBC-ODBC 桥接方式利用微软的开放数据库互连接口(ODBC API)同数据库服务器通讯,客户端计算机首先应该安装并配置ODBC driver 和JDBC-ODBC bridge两种驱动程序。(2)本地API这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。注意,象桥驱动程序一样,

8、这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。这种驱动方式将数据库厂商的特殊协议转换成Java代码及二进制类码,使Java 数据库客户方与数据库服务器方通信。例如:Oracle用SQLNet协议,DB2用IBM 的数据库协议。数据库厂商的特殊协议也应该被安装在客户机上。(3)JDBC网络纯Java驱动程序这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合

9、于Intranet用的产品。为了使这些产品也支持Internet访问,它们必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。几家提供者正将JDBC驱动程序加到他们现有的数据库中间件产品中。这种方式是纯Java driver。数据库客户以标准网络协议(如HTTP、SHTTP)同数据库访问服务器通信,数据库访问服务器然后翻译标准网络协议成为数据库厂商的专有特殊数据库访问协议(也可能用到ODBC driver)与数据库通信。对Internet 和Intranet 用户而言这是一个理想的解决方案。Java driver 被自动的,以透明的方式随Applets自Web服务器而下载并安装在用

10、户的计算机上。(4)本地协议纯Java驱动程序这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。这种方式也是纯Java driver。数据库厂商提供了特殊的JDBC协议使Java数据库客户与数据库服务器通信。然而,将把代理协议同数据库服务器通信改用数据库厂商的特殊JDBC driver。这对Intranet 应用是高效的,可是数据库厂商的协议可能不被防火墙支持,缺乏防火墙支持在Internet 应用中会存在潜在的安全隐患。9.2 JDBC的工作原理 JDBC的设计基于X/Open SQ

11、L CLI(调用级接口)这一模型。它通过定义出一组 API对象和方法以用于同数据库进行交互。在Java程序中要操作数据库,一般应该通过如下几步(利用JDBC访问数据库的编程步骤):(1)加载连接数据库的驱动程序Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);(2)创建与数据源的连接 String url=jdbc:odbc:DatabaseDSN; Connection con=DriverManager.getConnection(url,Login,Password);(3)查询数据库:创建Statement对象并执行SQL语句以返回一个Result

12、Set对象。 Statement stmt=con.createStatement(); ResultSet rs=stmt.executeQuery(select * from DBTableName); (4)获得当前记录集中的某一记录的各个字段的值 String name=rs.getString(Name); int age=rs.getInt(age); float wage=rs.getFloat(wage);(5)关闭查询语句及与数据库的连接(注意关闭的顺序先rs再stmt最后为con) rs.close(); stmt.close(); con.close(); 9.3 JDB

13、C的结构 JDBC主要包含两部分:面向Java程序员的JDBC API及面向数据库厂商的JDBC Drive API。(1)面向Java程序员的JDBC API:Java程序员通过调用此API从而实现连接数据库、执行SQL语句并返回结果集等编程数据库的能力,它主要是由一系列的接口定义所构成。java.sql.DriveManager:该接口主要定义了用来处理装载驱动程序并且为创建新的数据库连接提供支持。java.sql.Connection:该接口主要定义了实现对某一种指定数据库连接的功能。java.sql.Statement:该接口主要定义了在一个给定的连接中作为SQL语句执行声明的容器以实

14、现对数据库的操作。它主要包含有如下的两种子类型。 java.sql.PreparedStatement:该接口主要定义了用于执行带或不带 IN 参数的预编译 SQL 语句。 java.sql.CallableStatement:该接口主要定义了用于执行数据库的存储过程的雕用。java.sql.ResultSet:该接口主要定义了用于执行对数据库的操作所返回的结果集。(2)面向数据库厂商的JDBC Drive API:数据库厂商必须提供相应的驱动程序并实现JDBC API所要求的基本接口(每个数据库系统厂商必须提供对DriveManager、Connection、Statement、Result

15、Set等接口的具体实现),从而最终保证Java程序员通过JDBC实现对不同的数据库操作。9.4数据库应用的模型(1)两层结构(C/S):在此模型下,客户端的程序直接与数据库服务器相连接并发送SQL语句(但这时就需要在客户端安装被访问的数据库的JDBC驱动程序),DBMS服务器向客户返回相应的结果,客户程序负责对数据的格式化。client端 ODBC/JDBC Server端(DBMS)或数据库专用协议 主要的缺点:受数据库厂商的限制,用户更换数据库时需要改写客户程序;受数据库版本的限制,数据库厂商一旦升级数据库,使用该数据库的客户程序需要重新编译和发布;对数据库的操作与处理都是在客户程序中实现,使客户程序在编程与设计时较为复杂。(2)三(或多)层结构(B/S):在此模型下,主要在客户端的程序与数据库服务器之间增加了一个中间服务器(可以采用C+或Java语言来编程实现),隔离客户端的程序与数据库服务器。客户端的程序(可以简单为通用的浏览器)与中间服务器

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

当前位置:首页 > 建筑/环境 > 建筑资料

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