Tuesday, January 17, 2006

JDBC4.0新機能

JDBC4.0新機能
JDBC 4.0 APIは以下の追加変更を含んでいます:

【java.sql.Driverを自動的にローディング】

DriverManager.getConnectionはJDBCドライバを自動的にロードするように,JavaSEサービスプロバイダ機構を使するように改変されます.この変更によりClass.forNameの呼び出しは不要になります.

【Ease of Development API】

JavaアプリケーションとSQLデータソース間でのSQLによる操作を簡単にするために、さまざまな標準JDBCアノテーションとジェネリックDataSetが追加されました.

【ROWIDデータ型】

java.sql.RowIdデータ型が追加されました.これによりJDBCを利用するプログラムはSQLのROWIDにアクセスすることが可能となります.

【国別のキャラクタセットの変換をサポート】

JDBC の新しい型としてNCHAR,NVARCHAR,LONGVARCHAR,NCLOBが追加されました.setNString, setNCharacterStream,setNClobメソッドがPreparedStatementインタフェースに追加され,getNClob, getNString,getNCharacterStreamメソッドがCallableStatementインタフェースとResultSetインタフェースに追加されました.updateNClob,updateNString,updateNCharacterStreamメソッドが ResultSetインタフェースに追加されました.

【BLOBおよびCLOBのサポートを強化】

BLOB, CLOB,NCLOBオブジェクトを生成するためのメソッドがConnectionインタフェースに追加されました. PreparedStatementインタフェースにはInputStreamを使ってBLOBオブジェクトを挿入するためのメソッドおよびReader オブジェクトを使ってCLOB,NCLOBオブジェクトを挿入するためのメソッドが追加されました.Blob,Clob,NClobインタフェースにはこれらのオブジェクトが保持しているリソースを解放するために使用するfreeメソッドが追加されました.

【SQL/XMLおよびXMLのサポート】

SQL2003はXMLデータをSQLデータストアへ格納するための概念を提供しています.これに関するメソッドが追加され、アプリケーションはXMLデータへアクセスできるようになります.

【ラッパー・パターン】

ベンダーにより実装されているJDBC標準以外のメソッドを使用できるようにするためにJDBCのクラスによるラップを除去する方法が追加されました.

【SQLExceptionの強化】

JavaSE のチェーンされた例外機能のサポートを追加.SQLExceptionはfor-eachループで使用できる反復可能なインタフェースをサポートします. SQLExceptionの2つのカテゴリ,SQLTransientExceptionおよび SQLNonTransientExceptionが追加されました.それぞれのカテゴリは共通のSQLStateクラスの値にマッピングされる新しい SQLExceptionのサブクラスを提供します.

【Connection管理】

接続状態を追跡し、コネクションプール環境でStatementオブジェクトを管理する際に多大な柔軟性をもたらす改良を可能とするための強化がConnectionインタフェースおよびStatementインタフェースに対して行われました.

【JDBC APIの変更】

既存のJDBCインタフェースに対して以下の変更が行われています.

■ Connection

createBlob,createClob,createNClob,createQueryObject,isValid,createSQLXML,getClientInfo,setClientInfoメソッドの追加.

■ CallableStatement

getRowId, setRowId,getNClob,getNString,getCharacterStream, getNCharacterStream,setNString,setNCharacterStream,setNClob,getSQLXML, setSQLXMLメソッドの追加.

setClob,setBlobメソッドのオーバーロード.

■ DatabaseMetaData

getRowIdLifetime, autoCommitFailureCloseAllResulSets,getFunctions, getFunctionParameters,providesQueryObjectGenerator, getClientInfoProperties,supportsStoredFunctionsUsingCallSyntaxメソッドの追加.

getSchemasメソッドのオーバーロード.

■ PreparedStatement

setRowId,setNString,setNCharacterStream,setSQLXML,isPoolable,setPoolable,setNClobメソッドの追加.

setClob,setBlobメソッドのオーバーロード.

■ ResultSet

getHoldability, getRowId,updateRowId,getNClob,isClosed,getNString, getNcharacterStream,updateNCharacterStream,updateNString,getSQLXML, updateSQLXML,updateNClobメソッドの追加.

updateObjectメソッドの修正.

■ Statement

isClosed,getResultSetHoldabilityメソッドの追加.

■ DataSource

createQueryObjectメソッドの追加.

■ PooledConnection

addStatementEventListener,removeStatementEventListenerメソッドの追加.

■ SQLInput

readNClob,readNString,readRowId,readSQLXMLメソッドの追加.

■ SQLOutput

writeNClob,writeNString,writeRowId,writeSQLXMLメソッドの追加.

これらの変更によって影響を受けるクラスとインタフェースの一覧はChapter 5 "Classes and Interfaces"(第5章 クラスとインタフェース)を参照して下さい.

0 Comments:

Post a Comment

<< Home