JDBC数据库编程的诠释

时间:2022-04-28 03:22:00

JDBC数据库编程的诠释

摘要:在Web应用程序设计中,提升数据库的响应性能是改善应用性能的关键。基于JDBC的Web数据库应用中,使用JDBC的优化技术,改善数据模型,可提高Web应用程序的响应性能。

关键词:JavaJDBCJDBCAPI数据库优化

0引言

目前,Web应用程序正在以非常快的速度在增长,Web应用程序不再是简单显示信息的网站,而逐渐融合核心的业务逻辑,成为IT领域的业务处理平台。Java以其面向对象、跨平台、安全性、健壮性等优秀特性已成为开发Web应用的主要选择。基于JDBC的结构和应用模式JDBC是一种可用于执行SQL语句的JavaAPI,由一些Java语言编写的类和接口组成。通过使用JDBC,开发人员可以很方便的将SQL语句传送给几乎任何一种数据库,有很好的可移植性。

1JDBC定义

JDBC是由Java编程语言编写的类及接口组成,同时它也为程序开发人员提供了一组用于实现对数据库访问的JDBCAPI,并支持SQL语言。利用JDBC可以将Java代码连接到Oracle、DB2、SQLServer、MySQL等数据库,从而实现对数据库中的数据进行操作的目的。

JDBC类似与Microsoft的ODBC,但两者有很大的区别,JDBC是Java操作数据库的方法,有Sun公司提供ODBC是有微软公司提供的数据库操作的方法。也可以说JDBC是连接数据库的一套标准。ODBC不适合直接在Java中使用,因为它使用C语言接口。

2JDBC与Java结合的优点

JDBC与Java结合,再一次验证了Java那句话“一次编写,到处运行”。它使程序员可以只写一次数据库程序后,就可以在各种数据库系统上运行。通过使用JDBC,程序员可以很方便地将SQL语句传给任何一种数据库。也就是说,程序员不需要写多个程序分别对应不同的数据库,用JDBC编写的程序能自动将SQL语句传给相应的数据库管理系统(DBMS)

Java具有坚固、安全、易于使用和易于理解等特性,是编写数据库应用程序的杰出语言。所需要的只是Java应用程序与各种不同数据库之间进行对话的方法,JDBC提供了这种方法。可以说JDBC扩展了Java的功能。

3JDBC工作原理

JDBC作为JavaEnterpriseAPI的一部分于1996年5月由JavaSoft公司推出,它为Java程序员在Java代码中访问关系数据库提供了标准API。这个标准API提供了编写标准和考虑所有不同应用程序设计的标准.其奥秘是一组由驱动程序实现的Java接口。驱动程序负责标准JDBC调用向支持的数据库所要的具体调用转变。这样应用程序编写一次就能移植到各种驱动程序上,应用程序不变,驱动程序则各不相同。驱动程序可以用于开发多层数据库设计的中间层,也称中间件。

4JDBC数据库连接中存在的问题及解决方案分析

JDBC的连接过程是JDBC达到正常运行的最困难部分。常遇到的问题有:

4.1ClassNotFoundException异常如果出现“Exceptioninthreadmainjava.lang.ClassNotFoundException”异常,这表示找不到数据库的JDBC驱动程序,可能的原因:一是没有为SQLSever安装JDB驱动程序,或者Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”)代码拼写有误。

解决方案如下:

step1:判断是否已经安装JDBC驱动程序,若没有安装,则从网上下载并安装,安装后的目录一般为C:\ProgramFile\MicrosoftSQLServer2000DriverForJDBC\Lib,该目录下有三个.jar文件:msbase.jar、mssqlserver.jar、msutil.jar,所需的类都在这三个文件中。

step2:动态指定classpath。将以上三个文件的路劲加入classpath之中:Classpath=.C:

\ProgramFile\MicrosoftSQLServer2000DriverForJDBC\Lib\msbase.jarC:

\ProgramFile\MicrosoftSQLServer2000DriverForJDBC\Libtmsutil.jarC:

\ProgramFile\MicrosoftSQLServer2000DriverForJDBC\Lib\mssqlserver.jar。注意,字符串“.”必不可少,否则会出现异常:“Exceptioninthreadmainjava.1ang.NoClassDefFoundError”。

Step3:加载SQLServer的驱动程序,就是在Class的forName方法中,引用SQLServer驱动程序的主要类,SQLServer驱动程序的主要类是COB.microsoft.jdbc.sqlserver.SQLServerDriver,这个类包含在mssqlserver.jar文件中,代码如下:Class.forName(“COB.microsoft.jdbc.sqlserver.SQLServerDriver”)

4.2Nosuitabledriver异常出现“Nosuitabledriver”异常的原因可能是SQLServer2000DriverForJDBC\Lib目录下的三个.jar文件:msbase.jar、mssqlserver.jar、msutil.jar未加入到ClassPath中,或者加入到项目的RequiredLibrary中。

解决方案:检查上面的step2中的操作是否正确:路径是否指定正确,文件名是否正确等。

4.3Errorestablishingsocket异常出现“Errorestablishingsocket”异常的原因,这是1433端口问题,因为在WindowsXPSP2及以上版本的Windows操作系统中,防火墙默认的是关闭这个端口的。需要为SQLServer打上补丁程序以打开1433端口。

解决方案如下。

Step1:版本的检查SQLServer的补丁版本检查不如Windows补丁版本检查直接,一个系统管理员,如果不了解SQLServer版本对应的补丁号,可能也会遇到一点麻烦,在这里说明一下,通过这些办法判别机器是否安全的办法,不会对系统产生任何影响。

Step2:1433端口的检查。

在命令行窗口中输入命令:netstat—an。检查1433端口是否被打开侦听。

5总结

开发需要将数据持久性保存到关系数据库管理系统的应用程序是IT行业持续增长的一个需要。使用JDBC技术,利用JDBCAPI提供的各种不同特性,有利于用户选择最佳特性来满足自己特定的应用程序体系结构。

本文主要针对目前在Web应用程序开发中使用JDBC技术解决数据库访问时,提出了解决性能问题的若干方法,并对这些方法的提升Web数据库性能的原理进行了分析,最后提出了对关系数据模型优化方法,这些技术方法在开发中都得到了验证,能够提升Web应用程序在服务上的性能。

参考文献:

[1]萧仁惠,陈锦辉编著.JDBC数据库程序设计[M].北京:中国铁道出版社.2004.2.

[2]林胜利,王坤茹,孟海利编著.Java优化编程[M].北京:电子工业出版社.2005.5.

[3]张晓东等编著.Java数据库高级教程[M].北京:清华大学出版社.2004.

[4]庞永庆,翟鹏编著.Java完全自学宝典[M].北京:清华大学出版社.2008.7.

[5]沈文炎,刘琼,王卫东等译.Java高级编程:JDK5[M].北京:机械工业出版社.2006.6.