Java SE 6.0加强了JDBC 4.0
Java SE 5.0(代码叫做:Tiger 老虎)Java SE 6.0(代码叫做:Mustang 野马)
JDBC 4.0是为了提供更简单的设计和更好的开发者体验。
Java SE 6.0绑定了一个内置的Apache Derby,这是为了方便开发者体验JDBC 4.0的新特性,不用另外下载,安装和配置数据库。
JDBC 4.0的新特性主要包括:
[*]Auto-loading of JDBC driver class
[*]Connection management enhancements
[*]Support for RowId SQL type
[*]DataSet implementation of SQL using Annotations
[*]SQL exception handling enhancements
[*]SQL XML support
自动加载JDBC驱动类。不用写Class.forName()去注册一个JDBC驱动器,当方法getConnection被调用时,DriverManager类将
试图从初始化时已经下载的JDBC驱动器(这些驱动明确地使用相同的class loader加载)中定位一个合适的驱动。
DriverManager类中的方法 getConnection和getDrivers得到了加强来支持Java SE的Service Provider mechanism(SPM,服务提供结构),service被定义为一组有名的接口和抽象类。service provider是一个service的独特实现。它也指定了service provider的配置文件被存储在META-INF/services目录中,JDBC 4.0 drivers必须包括 META-INF/services/java.sql.Driver这个文件。这个文件包含了实现了java.sql.Driver的所有JDBC 4.0 驱动器的名称。
比如:我们需要连接内置的Apache Derby数据库,META-INF/services/java.sql.Driver中就包含了下面这个实体:
org.apache.derby.jdbc.EmbeddedDriver
以前我们连接数据库会用如下的代码片段:
Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); Connection conn = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPassword);但在JDBC 4.0中, 我们不需要用Class.forName()这行代码。只需要简单地调用getConnection方法就能连接数据库。
页:
[1]