APP下载

基于JDBC的数据库访问技术的实现

2010-09-07范群星

太原城市职业技术学院学报 2010年7期
关键词:驱动程序实例语句

范群星

(山西交通职业技术学院,山西 太原 030031)

基于JDBC的数据库访问技术的实现

范群星

(山西交通职业技术学院,山西 太原 030031)

为了避免应用对数据库的依赖性过强,使应用适用于不同的DBMS,JDBC数据库连接标准为Java应用程序提供了统一的API接口,可以很容易地把SQL语句传送到任何关系型数据库中。论文介绍了多种访问数据库的接口标准,并进行了比较,同时使用简单实例演示了JDBC连接数据库的过程。

SQL;API;ODBC;JDB;UDA

一、访问数据库的接口标准

数据库向用户提供的数据查询语言SQL是标准的,但这并不意味着数据库对应用提供的API(Application Program Interface)也是标准的。从应用开发的角度看,各个数据库产品生产商向程序提供的API接口差异还是比较大的,因此,选择适应性更强的数据库连接标准显得非常重要。

1.开放数据库连接标准(Open Data Base Connectivity,ODBC)

ODBC由Microsoft公司提供,定义了数据库访问的应用程序接口,即API接口。ODBC的目的是屏蔽各种数据库存取API接口的差异,为访问数据库的应用程序提供了一致的接口。应用程序可以通过称为ODBC驱动程序的不同的数据库引擎访问不同的数据库管理系统。

2.Java数据库连接标准(Java DataBase Connectivity, JDBC)

JDBC和ODBC类似,它为Java应用程序提供了统一的API接口。JDBC包括两个基本部分:一部分是面向开发人员的JDBCAPI,其作用是为程序员提供不同的数据库连接方式;另一部分是JDBC驱动程序,它可以建立在ODBC基础上,即程序对JDBC的访问先转换为对ODBC的调用,然后利用ODBC完成数据库访问;JDBC也可以直接与数据库连接。目前几乎所有的应用服务器都为Java程序提供JDBC接口。

3.统一数据存取标准(Universal Data Access,UDA)

UDA是Microsoft公司提出的一种标准,它也力图为应用程序给出一个统一的API接口,其特点在于它针对的数据源不仅仅局限于关系数据库,而且可以是非关系型的数据文件、图形图像等。在UDA机制中,应用程序通过ADO(Advanced Data Object)接口访问数据,而ADO可通过OLE DB访问非关系型的数据或者通过ODBC驱动程序访问不同的数据库。

二、JDBC与ODBC及与UDA的比较

1.Java不能直接使用ODBC

因为ODBC使用C语言接口,如果让Java来调用本机C代码的话,那会在安全、属性、应用的可移植性等方面带来困难。

2.通过JDBC,可直接把ODBC翻译成具有Java风格的面向对象的接口

例如,ODBC使用了大量的易于出错的指针,而Java取消了这种不安全的指针,无须逐字翻译。

3.JDBC的Java API提供“纯Java”的解决办法

当使用ODBC时,ODBC驱动器管理程序与驱动器必须手工地装入到每架客户机上。而JDBC驱动器全部是用Java编写的,JDBC代码则在所有Java平台 (从网络计算机到主机)上都可自动安装,并且是可移植的和安全的。

4.UDA的应用不够广泛

UDA虽然提供了对不同数据源的一致的存取方式,但是遗憾的是,UDA机制目前除了在Microsoft的产品中有深入应用外,其他IT厂商在产品方面的支持并不非常广泛。

三、使用JDBC连接数据库实例

该实例使用的数据库管理系统是MySQL,JSP容器是Tomcat 6.0,使用的MySQL版本是mysq1-6.0.11-alpha,Tomcat的版本是apache-tomcat-6.0.18。将两个软件分别进行安装、配置及测试。

1.准备数据库驱动程序和数据库

(1)准备数据库驱动程序

要使用JDBC连接数据库,JDBC数据库驱动程序是必不可少的,它是数据库和Java编程语言的接口,这里所使用的数据库驱动程序是mysq1-connector-java-5.1.10,将从 MySQL官方网站(http://www.mysql. com)上下载的压缩包(mysql-connector-java-5.1.10.zip)解压缩到本地硬盘,然后将解压目录下的mysql-connector-java-5.1.10-bi n.j a r文件复制到 <TOMCAT_HOME>/lib目录下。

(2)准备数据库

新建名为jdbctestdb的数据库,并在其下建立一个名为animalInfo的表,表中各数据字段如表1所示,并在表中添加如下的数据,如表2所示。

表1 animalInfo数据表的数据字段

表2 animalInofo数据表的数据

2.编写访问数据库的JSP文件

上述工作准备完成后就可以编写访问数据库的代码了。

在该例中,要实现的功能就是把数据库中的数据查询出来并在页面上显示,将以下JSP文件代码保存到jdbc.jsp文件中:

3.发布访问数据库的Web应用

首先,在<TOMCAT_HOME>/webapps目录下新建一个 JDBCFirst文件夹,在该文件夹下创建目录WEB-INF,并在WEB-INF下创建目录classes和文件web.xml。web.xml的代码如下:

其次,将 jdbc.jsp文件和数据库驱动程序mysql-connector-java-5.1.10.zip解压目录下的src文件夹复制到JDBCFirst目录下。

最后,启动Tomcat,然后在浏览器地址栏中输入如下地址:http://localhost:8080/JDBCFirst/jdbc.jsp,可以看到显示结果。

四、结束语

1.Java数据库连接(JDBC)由一组用Java编程语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序,并支持将SQL语句发送到相应的任何一种关系型数据库,从而实现与数据库的连接。

2.由于在配置MYSQL服务器时,已经将其字符集设置为gb2312,而JSP文件也使用gb2312编码,所以在显示字符串内容时,不需要进行字符集的转换。否则就需要在显示内容的语句中使用<%=new String(rs. getString(“XXXX”).getBytes(“ISO8859-1”),”gb2312”)%>这样的语句进行字符集的转换,以使数据能正常显示。

3.如果在运行时提示javax.servlet.ServletException: com.mysql.jdbc.Driver或java.lang.ClassNot FoundException:com.mysql.jdbc.Driver错误,请确保已经正确安装了数据库驱动程序。

4.直接在命令提示符下进行mysql数据库的操作比较复杂,如果使用mysql提供的mysqldump工具实现的话,就容易且方便得多。

[1]刘军,马敏书.电子商务系统的分析与设计[M].北京:高等教育出版社,2008:286-295.

[2]郑彦孚.MySQL的JDBC编程实例[J].电脑开发及应用,2007,(1):58-63.

[3]樊新华,孟铂.基于JDBC的通用的访问数据库方法[J].电脑知识与技术,2008,(7):1545-1546,1554.

[4]张作宸.JDBC原理及操纵数据库方法[J].科技信息,2009,(2):490.

[5]童少娟.浅谈Java数据库连接[J].中国校外教育,2009,(7):168.

[6]郭广军,陈代武,胡玉平,李芝城.基于JDBC的数据库访问技术的研究[J].南华大学学报(自然科学版),2005,(6):50-54,57.

TP

A

1673-0046(2010)7-0174-03

猜你喜欢

驱动程序实例语句
重点:语句衔接
精彩语句
完形填空Ⅱ
完形填空Ⅰ
如何搞定语句衔接题
作文语句实录
驱动程序更新与推荐
驱动程序更新与推荐
驱动程序更新与推荐
驱动程序的真心话和大冒险