JDBC数据库编程的研究
摘要:在Web应用程序设计中,提升数据库的响应性能是改善应用性能的关键。基于JDBC的Web数据库应用中,使用JDBC的优化技术,改善数据模型,可提高Web应用程序的响应性能。
关键词:Java JDBC JDBC API 数据库 优化
0 引言
目前,Web应用程序正在以非常快的速度在增长,Web应用程序不再是简单显示信息的网站,而逐渐融合核心的业务逻辑,成为IT领域的业务处理平台。Java以其面向对象、跨平台、安全性、健壮性等优秀特性已成为开发Web应用的主要选择。基于JDBC的结构和应用模式JDBC是一种可用于执行SQL语句的Java API,由一些Java语言编写的类和接口组成。通过使用JDBC,开发人员可以很方便的将SQL语句传送给几乎任何一种数据库,有很好的可移植性。
1 JDBC定义
JDBC是由Java编程语言编写的类及接口组成,同时它也为程序开发人员提供了一组用于实现对数据库访问的JDBC API,并支持SQL语言。利用JDBC可以将Java代码连接到Oracle、DB2、SQL Server、My SQL等数据库,从而实现对数据库中的数据进行操作的目的。
JDBC类似与Microsoft的ODBC,但两者有很大的区别,JDBC是Java操作数据库的方法,有Sun公司提供;ODBC是有微软公司提供的数据库操作的方法。也可以说JDBC是连接数据库的一套标准。ODBC不适合直接在Java中使用,因为它使用C语言接口。
2 JDBC与Java结合的优点
JDBC与Java结合,再一次验证了Java那句话“一次编写,到处运行”。它使程序员可以只写一次数据库程序后,就可以在各种数据库系统上运行。通过使用JDBC,程序员可以很方便地将SQL语句传给任何一种数据库。也就是说,程序员不需要写多个程序分别对应不同的数据库,用JDBC编写的程序能自动将SQL语句传给相应的数据库管理系统(DBMS)
Java具有坚固、安全、易于使用和易于理解等特性,是编写数据库应用程序的杰出语言。所需要的只是Java应用程序与各种不同数据库之间进行对话的方法,JDBC提供了这种方法。可以说JDBC扩展了Java的功能。
3 JDBC工作原理
JDBC作为Java Enterprise API的一部分于1996年5月由JavaSoft公司推出,它为Java程序员在Java代码中访问关系数据库提供了标准API。这个标准API提供了编写标准和考虑所有不同应用程序设计的标准.其奥秘是一组由驱动程序实现的Java接口。驱动程序负责标准JDBC调用向支持的数据库所要的具体调用转变。这样应用程序编写一次就能移植到各种驱动程序上,应用程序不变,驱动程序则各不相同。驱动程序可以用于开发多层数据库设计的中间层,也称中间件。
4 JDBC数据库连接中存在的问题及解决方案分析
JDBC的连接过程是JDBC达到正常运行的最困难部分。常遇到的问题有:
4.1 Class Not Found Exception异常 如果出现“Exception in thread main java.lang.ClassNotFoundException”异常,这表示找不到数据库的JDBC驱动程序,可能的原因:一是没有为SQL Sever安装JDB 驱动程序,或者Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”)代码拼写有误。
解决方案如下:
step1:判断是否已经安装JDBC驱动程序,若没有安装,则从网上下载并安装,安装后的目录一般为C:\Program File\Microsoft SQL Server 2000 Driver For JDBC\Lib,该目录下有三个.jar文件:msbase.jar、mssqlserver.jar、msutil.jar,所需的类都在这三个文件中。
step2:动态指定classpath。将以上三个文件的路劲加入classpath之中:Classpath=.;C:\Program File\Microsoft SQL Server 2000 Driver For JDBC\Lib\msbase.jar;C:\Program File\Microsoft SQL Server2000 Driver For JDBC\Lib t msutil.jar;C:\Program File\Microsoft SQL Server 2000 Driver For JDBC\Lib\mssqlserver.jar。注意,字符串“.;”必不可少,否则会出现异常:“Exception in thread main java.1ang.NoClassDefFoundError”。
Step3:加载SQL Server的驱动程序,就是在Class的forName方法中,引用SQL Server驱动程序的主要类,SQL Server驱动程序的主要类是COB.microsoft.jdbc.sqlserver.SQLServerDriver,这个类包含在mssqlserver.jar文件中,代码如下:Class.forName(“COB.microsoft.jdbc.sqlserver.SQLServerDriver”)
4.2 No suitable driver异常 出现“No suitable driver”异常的原因可能是SQL Server 2000 Driver For JDBC\Lib目录下的三个.jar文件:msbase.jar、mssqlserver.jar、msutil.jar未加入到ClassPath中,或者加入到项目的Required Library中。
解决方案:检查上面的step 2中的操作是否正确:路径是否指定正确,文件名是否正确等。
4.3 Error establishing socket异常 出现“Error establishing socket”异常的原因,这是1433端口问题,因为在Windows XP SP2及以上版本的Windows操作系统中,防火墙默认的是关闭这个端口的。需要为SQL Server打上补丁程序以打开1433端口。
解决方案如下。
Step1:版本的检查SQL Server的补丁版本检查不如Windows补丁版本检查直接,一个系统管理员,如果不了解SQLServer版本对应的补丁号,可能也会遇到一点麻烦,在这里说明一下,通过这些办法判别机器是否安全的办法,不会对系统产生任何影响。
Step2:1433端口的检查。
在命令行窗口中输入命令:netstat—an。检查1433端口是否被打开侦听。
5 总结
开发需要将数据持久性保存到关系数据库管理系统的应用程序是IT行业持续增长的一个需要。使用JDBC技术,利用JDBC API提供的各种不同特性,有利于用户选择最佳特性来满足自己特定的应用程序体系结构。
本文主要针对目前在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高级编程:JDK 5[M].北京:机械工业出版社.2006.6.
关键词:Java JDBC JDBC API 数据库 优化
0 引言
目前,Web应用程序正在以非常快的速度在增长,Web应用程序不再是简单显示信息的网站,而逐渐融合核心的业务逻辑,成为IT领域的业务处理平台。Java以其面向对象、跨平台、安全性、健壮性等优秀特性已成为开发Web应用的主要选择。基于JDBC的结构和应用模式JDBC是一种可用于执行SQL语句的Java API,由一些Java语言编写的类和接口组成。通过使用JDBC,开发人员可以很方便的将SQL语句传送给几乎任何一种数据库,有很好的可移植性。
1 JDBC定义
JDBC是由Java编程语言编写的类及接口组成,同时它也为程序开发人员提供了一组用于实现对数据库访问的JDBC API,并支持SQL语言。利用JDBC可以将Java代码连接到Oracle、DB2、SQL Server、My SQL等数据库,从而实现对数据库中的数据进行操作的目的。
JDBC类似与Microsoft的ODBC,但两者有很大的区别,JDBC是Java操作数据库的方法,有Sun公司提供;ODBC是有微软公司提供的数据库操作的方法。也可以说JDBC是连接数据库的一套标准。ODBC不适合直接在Java中使用,因为它使用C语言接口。
2 JDBC与Java结合的优点
JDBC与Java结合,再一次验证了Java那句话“一次编写,到处运行”。它使程序员可以只写一次数据库程序后,就可以在各种数据库系统上运行。通过使用JDBC,程序员可以很方便地将SQL语句传给任何一种数据库。也就是说,程序员不需要写多个程序分别对应不同的数据库,用JDBC编写的程序能自动将SQL语句传给相应的数据库管理系统(DBMS)
Java具有坚固、安全、易于使用和易于理解等特性,是编写数据库应用程序的杰出语言。所需要的只是Java应用程序与各种不同数据库之间进行对话的方法,JDBC提供了这种方法。可以说JDBC扩展了Java的功能。
3 JDBC工作原理
JDBC作为Java Enterprise API的一部分于1996年5月由JavaSoft公司推出,它为Java程序员在Java代码中访问关系数据库提供了标准API。这个标准API提供了编写标准和考虑所有不同应用程序设计的标准.其奥秘是一组由驱动程序实现的Java接口。驱动程序负责标准JDBC调用向支持的数据库所要的具体调用转变。这样应用程序编写一次就能移植到各种驱动程序上,应用程序不变,驱动程序则各不相同。驱动程序可以用于开发多层数据库设计的中间层,也称中间件。
4 JDBC数据库连接中存在的问题及解决方案分析
JDBC的连接过程是JDBC达到正常运行的最困难部分。常遇到的问题有:
4.1 Class Not Found Exception异常 如果出现“Exception in thread main java.lang.ClassNotFoundException”异常,这表示找不到数据库的JDBC驱动程序,可能的原因:一是没有为SQL Sever安装JDB 驱动程序,或者Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”)代码拼写有误。
解决方案如下:
step1:判断是否已经安装JDBC驱动程序,若没有安装,则从网上下载并安装,安装后的目录一般为C:\Program File\Microsoft SQL Server 2000 Driver For JDBC\Lib,该目录下有三个.jar文件:msbase.jar、mssqlserver.jar、msutil.jar,所需的类都在这三个文件中。
step2:动态指定classpath。将以上三个文件的路劲加入classpath之中:Classpath=.;C:\Program File\Microsoft SQL Server 2000 Driver For JDBC\Lib\msbase.jar;C:\Program File\Microsoft SQL Server2000 Driver For JDBC\Lib t msutil.jar;C:\Program File\Microsoft SQL Server 2000 Driver For JDBC\Lib\mssqlserver.jar。注意,字符串“.;”必不可少,否则会出现异常:“Exception in thread main java.1ang.NoClassDefFoundError”。
Step3:加载SQL Server的驱动程序,就是在Class的forName方法中,引用SQL Server驱动程序的主要类,SQL Server驱动程序的主要类是COB.microsoft.jdbc.sqlserver.SQLServerDriver,这个类包含在mssqlserver.jar文件中,代码如下:Class.forName(“COB.microsoft.jdbc.sqlserver.SQLServerDriver”)
4.2 No suitable driver异常 出现“No suitable driver”异常的原因可能是SQL Server 2000 Driver For JDBC\Lib目录下的三个.jar文件:msbase.jar、mssqlserver.jar、msutil.jar未加入到ClassPath中,或者加入到项目的Required Library中。
解决方案:检查上面的step 2中的操作是否正确:路径是否指定正确,文件名是否正确等。
4.3 Error establishing socket异常 出现“Error establishing socket”异常的原因,这是1433端口问题,因为在Windows XP SP2及以上版本的Windows操作系统中,防火墙默认的是关闭这个端口的。需要为SQL Server打上补丁程序以打开1433端口。
解决方案如下。
Step1:版本的检查SQL Server的补丁版本检查不如Windows补丁版本检查直接,一个系统管理员,如果不了解SQLServer版本对应的补丁号,可能也会遇到一点麻烦,在这里说明一下,通过这些办法判别机器是否安全的办法,不会对系统产生任何影响。
Step2:1433端口的检查。
在命令行窗口中输入命令:netstat—an。检查1433端口是否被打开侦听。
5 总结
开发需要将数据持久性保存到关系数据库管理系统的应用程序是IT行业持续增长的一个需要。使用JDBC技术,利用JDBC API提供的各种不同特性,有利于用户选择最佳特性来满足自己特定的应用程序体系结构。
本文主要针对目前在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高级编程:JDK 5[M].北京:机械工业出版社.2006.6.