科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Java SE 6中JDBC 4.0的增强特性4

Java SE 6中JDBC 4.0的增强特性4

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Java SE 6包含了对Java数据库互连(JDBC)API的一些增强特性。这些增强特性的版本将定为JDBC version 4.0。JDBC新特性的目的是提供更简单的设计和更好的开发体验。

来源:IT专家网 2008年6月4日

关键字: 特性 JDBC 4.0 Java SE 6 java

  • 评论
  • 分享微博
  • 分享邮件
增强的For-Each环

  Java SE 5中,SQLException类通过实现Iterable接口,增加了for-each循环支持的特性。这个循环的轨迹将会包括SQLException和其异常成因。这里的代码片断展示了SQLException中增加的增强型for-each环特性。

catch(SQLException ex) {
     for(Throwable e : ex ) {
        LOG.error("Error occurred: " + e);
     }
}

  对国际字符集转换的支持

  以下是JDBC类处理国际字符集的新增特性:

  •   1. JDBC数据类型:新增NCHAR、NVARCHAR、LONGNVARCHAR和NCLOB数据类型。
  •   2. PreparedStatement:新增setNString、setNCharacterStream和setNClob方法。
  •   3. CallableStatement:新增getNClob、getNString和getNCharacterStream方法。
  •   4. ResultSet:ResultSet接口新增updateNClob、updateNString和updateNCharacterStream方法。

  对大对象(BLOBs and CLOBs)支持的改进

  以下是JDBC 4.0处理LOBs的新增特性:

  •   1. Connection:新增方法(createBlob()、createClob()和createNClob())以创建BLOB、CLOB和NCLOB对象新实例。
  •   2. PreparedStatement:新增方法setBlob()、setClob()和setNClob()以使用InputStream对象插入BLOB对象,使用Reader对象插入CLOB和NCLOB对象。
  •   3. LOBs:在Blob、Clob和NClob接口中新增方法(free())以释放这些对象所持有的资源。

  现在,让我们来看一看java.sql和javax.jdbc包的新类,以及他们所提供的服务。

JDBC 4.0 API:新类

  RowId (java.sql)

  正如先前所介绍的,该接口是对数据库中SQL ROWID值的展示。ROWID是一种SQL内建的数据类型,用来标识数据库中的一行特定数据。ROWID经常用于从表中返回查询结果,而这些结果行往往缺少唯一ID字段。

  getRowId和setRowId等CallableStatement、PreparedStatement和ResultSet接口的方法允许程序员访问SQL ROWID值。RowId接口还提供了一个方法(叫getBytes())把ROWID值作为一个byte型数组返回。DatabaseMetaData接口有一个名为getRowIdLifetime的新方法,用以确定某一RowId对象的存活时间。RowId的存活时间范围可以是如下三种类型:

  •   1. 创建RowId的数据库事务持续时间
  •   2. 创建RowId的会话持续时间
  •   3. 数据库对应的记录还未被删除的持续时间

  DataSet (java.sql)

  DataSet接口提供了对执行SQL Query后所返回数据类型的安全检查。DataSet还可以运行在连接或非连接模式。在连接模式下,DataSet类似于ResultSet的功能;而在非连接模式下,他类似于CachedRowSet的功能。由于DataSet继承自List接口,因此我们能对查询返回的记录行进行迭代。

  对已有的类,JDBC 4.0也新增了不少方法。比如,Connection新增了createSQLXML和createSQLXML方法,ResultSet新增了getRowId方法。

  范例应用

  本文所示的范例应用是一个贷款处理应用软件,他有一个贷款搜索页面,用户可以通过输入贷款ID提交查询表,以获取贷款详情。贷款搜索页面调用一个控制器对象,而该对象又调用一个DAO对象访问后台数据库,以取回贷款详情。这些详情包括贷款人、贷款数额、贷款截至日期等信息,并显示在贷款详情屏幕上。后台数据库中,我们有一个名为LoanApplicationDetails的表,来存储贷款软件的详情。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章