Java的数据库连接编程

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

[本讲的知识要点]:JDBC、JDBC的工作原理,访问数据库的方法、Statement、PreparedStatement、CallableStatement,ResultSet等对象的编程使用

9.1 基本知识

9.1.1 JDBC:Java DataBase Connectivity(Java 数据库连接技术),它是将Java与SQL结合且独立于特定的数据库系统的应用程序编程接口(API--它是一种可用于执行SQL语句的Java API,即由一组用Java语言编写的类与接口所组成)。

有了JDBC从而可以使Java程序员用Java语言来编写完整的数据库方面的应用程序。另外也可以操作保存在多种不同的数据库管理系统中的数据,而与数据库管理系统中数据存储格式无关。同时Java语言的与平台的无关性,不必在不同的系统平台下编写不同的数据库应用程序。

9.1.2 JDBC设计的目的

(1)ODBC:微软的ODBC是用C编写的,而且只适用于Windows平台,无法实现跨平台地操作数据库。

(2)SQL语言:SQL尽管包含有数据定义、数据操作、数据管理等功能,但它并不是一个完整的编程语言,而且不支持流控制,需要与其它编程语言相配合使用。

(3)JDBC的设计:由于Java语言具有健壮性、安全、易使用并自动下载到网络等方面的优点,因此如果采用Java语言来连接数据库,将能克服ODBC局限于某一系统平台的缺陷;将SQL语言与Java语言相互结合起来,可以实现连接不同数据库系统,即使用JDBC可以很容易地把SQL语句传送到任何关系型数据库中。

(4)JDBC设计的目的:它是一种规范,设计出它的最主要的目的是让各个数据库开发商为Java程序员提供标准的数据库访问类和接口,使得独立于DBMS的Java应用程序的开发成为可能(数据库改变,驱动程序跟着改变,但应用程序不变)。

9.1.3 JDBC的主要功能:(1)创建与数据库的连接;(2)发送SQL语句到任何关系型数据库中;(3)处理数据并查询结果。

编程实例:

try

{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //(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("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的对比,从而体会JDBC的特点

(1)ODBC是用C语言编写的,不是面向对象的;而JDBC是用Java编写的,是面向对象的。

(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访问。注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题),或者是用Java编写的三层结构的应用程序服务器代码。

JDBC-ODBC 桥接方式利用微软的开放数据库互连接口(ODBC API)同数据库

服务器通讯,客户端计算机首先应该安装并配置ODBC driver 和JDBC-ODBC bridge两种驱动程序。

(2)本地API

这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。

这种驱动方式将数据库厂商的特殊协议转换成Java代码及二进制类码,使Java 数据库客户方与数据库服务器方通信。例如:Oracle用SQLNet协议,DB2用IBM 的数据库协议。数据库厂商的特殊协议也应该被安装在客户机上。

(3)JDBC网络纯Java驱动程序

这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于Intranet用的产品。为了使这些产品也支持Internet访问,它们必须处理Web 所提出的安全性、通过防火墙的访问等方面的额外要求。几家提供者正将JDBC 驱动程序加到他们现有的数据库中间件产品中。

相关文档
最新文档