Java SE 6中的JDBC 4.0增强
Java Platform, Standard Edition(Java SE)版本6(代码名称Mustang)现在已经推出了第二个beta版本,并计划于今年十月份交付使用。Java SE 6包括几处对Java Database Connectivity (JDBC)API的增强。
Java Platform, Standard Edition(Java SE)版本6(代码名称Mustang)现在已经推出了第二个beta版本,并计划于今年十月份交付使用。Java SE 6包括几处对Java Database Connectivity (JDBC)API的增强。这些增强将被发布为JDBC 4.0版本。新JDBC功能的主要目标是提供更为简单的设计方式和更好的开发人员体验。本文概要说明了JDBC 4.0增强,以及它们给企业Java开发人员带来的好处。我们将借助一个使用Apache Derby作为后端数据库而构建的贷款处理示例应用程序,对新的JDBC功能进行探讨。
Java SE 6.0
Java SE 6.0版本的主要目标是提供兼容性、稳定性和高质量。这个版本中有几处有趣的增强,尤其是在监控与管理(JMX)、Web service、脚本语言支持(使用Rhino脚本引擎JSR 223将JavaScript技术与Java源代码集成在一起)、数据库连接性、注释支持和安全性方面。JDBC API中还增加了几个新功能,从新的RowId支持到更多的SQLException子类。
JDBC 4.0功能
借助Mustang中包含的Java SE Service Provider机制,Java开发人员不再需要使用像Class.forName()这样的代码显式地加载JDBC驱动程序,就能注册JDBC驱动程序。通过在调用DriverManager.getConnection()方法时自动定位合适的驱动程序,DriverManager类可以做到这一点。这个功能是向后兼容的,所以无需修改现有的JDBC代码。
在访问关系数据库的Java应用程序中,通过最小化我们需要编写的“模板”代码,JDBC 4.0还改善了开发人员体验。它还提供实用程序类,以改进JDBC驱动程序的注册和卸载机制,以及管理数据源和连接对象。
借助JDBC 4.0,Java开发人员现在可以使用Annotations指定SQL查询,从而利用Java SE 5.0(Tiger)版本中提供的元数据支持。基于注释的SQL查询允许在Java代码中使用Annotation关键字指定SQL查询字符串。这样,我们就不必在两个不同文件中查看JDBC代码以及这些代码中调用的数据库查询了。例如,如果有一个叫做getActiveLoans()的方法,用于获取贷款处理数据库中的当前贷款,可以使用@Query(sql="SELECT * FROM LoanApplicationDetails WHERE LoanStatus = 'A'")注释来修饰它。
此外,Java SE 6开发工具包(JDK 6)的最后版本——与运行时环境(JRE 6)相反——将会有一个基于与它绑定在一起的Apache Derby的数据库。这将帮助开发人员理解新的JDBC功能,而不必单独下载、安装和配置数据库产品。
JDBC 4.0中加入的主要功能包括:
- 自动加载JDBC驱动程序类。
- 连接管理增强。
- 支持RowId SQL 类型。
- 使用Annotations的DataSet SQL实现。
- 处理增强的SQL异常。
- 支持SQL XML。
还存在其他功能,比如对大对象(BLOB/CLOB)的改进支持和National Character Set Support。接下来的内容将会详细分析这些功能。
- 本文关键词:

