# JDBC 4.0の機能

JDBC 4.0 では基本APIに幾つかの機能が追加されています。 この節ではDerbyにて実現されている機能を説明します。

注: ここで記す機能はJDK 1.6以上の環境にあります。

該当の機能は以下のとおりです。

- DataSources JDBC 4.0で提供される開発省力化を実現するため、Derbyには、新しい`javax.sql.DataSource`の実装が導入されました。javax.sql.DataSource インターフェイス: JDBC 4.0の機能を参照してください。
- JDBCドライバの自動読み込み 前のバージョンのJDBCではアプリケーションは接続の要求に先立ち、ドライバの登録を自力で行わなければなりませんでした。 JDBC 4.0からは、アプリケーションがドライバ名を引数にとってClass.forName()を呼ぶ必要はありません。代わりにアプリケーションが接続を要求したときに、DriverManagerが適切なJDBCドライバを探します。
- SQLExceptions. JDBC 4.0 ではより洗練されたSQLExceptionのサブクラスが導入されました。洗練されたSQLExceptionのサブクラスを参照してください。
- ラッパー JDBC 4.0ではラップされたJDBCオブジェクトという概念が導入されました。この仕組みはアプリケーションサーバがベンダー特有の機能拡張が施された、ConnectionやStatementsおよびResultSets等の標準JDBCオブジェクトを扱うための仕組みです。 Derbyには該当する機能拡張は無いので、Derbyでこの機能はそれほどの意味を持ちません。
- 文のイベント JDBC 4.0のコネクションプールは、文が閉じたり、文でエラーが発生したりといったイベントを聞くことができます。javax.sql.PooledConnectionには新しいメソッドが追加されています。addStatementEventListenerとremoveStatementEventListenerです。
- Streaming API JDBC 4.0ではCallableStatementやPreparedStatement、ResultSetにメソッドの新しいオーバーロードが追加されました。該当するオーバーロードとは、java.io.InputStreamおよびjava.io.Readerを引数にとるsetXXXメソッドやupdateXXXメソッドです。この新しいオーバーロードでは、長さの引数を省いたり、long型の長さを指定したりすることができます。
- 新しいメソッド 次のインターフェイスに新しいメソッドが追加されました。 `javax.sql.Connection`、 `javax.sql.DatabaseMetaData` および`javax.sql.Statement` java.sql.Connectionインターフェイス:JDBC4.0で提供される機能、java.sql.DatabaseMetaDataインターフェイス: JDBC4.0の機能およびjava.sql.Statementインターフェイス: JDBC 4.0で利用可能な機能を参照してください。

- 洗練されたSQLExceptionのサブクラス
- java.sql.Connectionインターフェイス:JDBC4.0で提供される機能
- java.sql.DatabaseMetaDataインターフェイス: JDBC4.0の機能
- java.sql.Statementインターフェイス: JDBC 4.0で利用可能な機能
- javax.sql.DataSource インターフェイス: JDBC 4.0の機能

親トピック: SQL言語のリファレンス
関連概念
SQLの識別子
文
組込みシステム関数
JDBC リファレンス
関連資料
大文字小文字と特殊文字
SQL 節
SQL式
JOIN 演算
SQL 問い合わせ
組み込み関数
SQL予約語
DerbyのサポートするSQL-92の機能
Derbyのシステム表
Derbyの例外メッセージとSQL state
java.sql.BatchUpdateException クラス
Connected Device ConfigurationおよびFoundation Profile向けのJDBCパッケージ(JSR169)
JDBC 3.0の機能
JDBCエスケープの構文