六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 210|回复: 0

Java SE 6.0加强了JDBC 4.0

[复制链接]

升级  19.33%

19

主题

19

主题

19

主题

秀才

Rank: 2

积分
79
 楼主| 发表于 2013-1-14 23:06:41 | 显示全部楼层 |阅读模式
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方法就能连接数据库。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表