摘要:在web应用程序设计中,提升数据库的响应性能是改善应用性能的关键。基于jdbc的web数据库应用中,使用jdbc的优化技术,改善数据模型,可提高web应用程序的响应性能。
关键词:javajdbcjdbcapi数据库优化
0引言
目前,web应用程序正在以非常快的速度在增长,web应用程序不再是简单显示信息的网站,而逐渐融合核心的业务逻辑,成为it领域的业务处理平台。java以其面向对象、跨平台、安全性、健壮性等优秀特性已成为开发web应用的主要选择。基于jdbc的结构和应用模式jdbc是一种可用于执行sql语句的javaapi,由一些java语言编写的类和接口组成。通过使用jdbc,开发人员可以很方便的将sql语句传送给几乎任何一种数据库,有很好的可移植性。
1jdbc定义
jdbc是由java编程语言编写的类及接口组成,同时它也为程序开发人员提供了一组用于实现对数据库访问的jdbcapi,并支持sql语言。www.133229.Com利用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.jar;c:\programfile\microsoftsqlserver2000driverforjdbc\libtmsutil.jar;c:\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.