JDBC
JDBCは、Javaデータベースの接続のためのAPI。JDBCは正式名称であって略称ではないが、Java Database Connectivityを略して名付けられたと考えられている(Java Database Connectionであるとする資料もある)。ODBCをベースにサン・マイクロシステムズおよびDataDirectが共同で開発していると言われている。そのためドライバのデフォルトの自動コミットの有効化など似ている点も多々ある。JavaにおいてSQLを使用して、データベース管理システム (DBMS) などと接続する機能を標準化(抽象化)している。元はJDK 1.0の拡張APIという位置付けであったが、JDK 1.1で正式にJavaの基本SDKに同梱されるようになった。標準的な機能 (API) はJava SEに含まれている。JDBCの規格はJava SDKとは独立して行われており、APIのアップデートは随時行われている。JDBCを利用する為には、100%Pure Java製Apache Derbyが同梱されているJava SE 6を除き、各DBMS用のJDBCドライバを用意する必要があるが現在開発が行われているほとんどのデータベースではJDBCドライバが用意されている。 これらのドライバを管理するのがJDBC Driver Managerである。JDBC Driver Managerは、複数のJDBCドライバを同時に利用する事が可能である。JDBCを使うユーザーは、JDBCドライバをロードし(多くはClass.forName("ドライバクラス名")メソッドを利用して呼び出される。Class.forName("ドライバクラス名")メソッドを利用した場合コンパイラによるそのドライバの依存チェックが行われない為、コンパイル時にドライバをあらかじめ参照できる様に設定しなくて良いなどの利点がある)、JDBC Driver Managerを使ってデータベースドライバを取得し、データベースと接続を行って、データベースアプリケーションを記述する事になる。 また、Javaのオブジェクト指向言語の特性を生かして、JDBCの基本APIに無い機能を各ドライバに同梱する事も可能である。この場合、JDBC APIのスーパーセットのクラスを呼び出すことでこれらの機能を利用可能にすることが可能である。たとえば、初期のオラクル社Oracle Database (Oracle8) 用JDBCドライバは当時のJDBC APIがBLOB(Binary Large Object Block)、CLOB(Charactor Large Object Block)に対応していなかったため独自に機能拡張し、BLOBとCLOBに対応していた。

1 JDBC Driverのタイプ
2 Javaとデータベース
3 関連項目
4 外部リンク