JDBCは、Javaとデータベースの接続のためのAPI。JDBCは正式名称であって略称ではないが、Java Database Connectivityを略して名付けられたと考えられている(Java Database Connectionであるとする資料もある)。ODBCをベースにSunおよびDataDirectが共同で開発していると言われている。
SQLを使用して、データベースマネジメントシステム(DBMS)などと接続する機能を標準化(抽象化)している。
元々は、Javaの拡張APIの位置づけであったが、Java2で正式にJavaの基本SDKに同梱されるようになった。標準的な機能(API)はJava SEに含まれている。JDBCの規格はJava SDKとは独立して行われており、APIのアップデートは随時行われている。
JDBCを利用する為には、100%Pure Java製Apache Derbyが同梱されているJava SE 6を除き、各DBMS用のJDBCドライバを用意する必要があり、これらをJDBC Driver Managerが管理している。JDBC Driver Managerは、複数のJDBCドライバを同時に利用する事が可能である。JDBCを使うユーザーは、JDBCドライバをロードし、(多くはClass.forName("ドライバクラス名")メソッドを利用して呼び出される。Class.forName("ドライバクラス名")メソッドを利用した場合コンパイラはそのドライバの依存チェックが行わない為にコンパイル時にドライバをあらかじめ参照できる様に設定しなくて良いなどの利点がある。)JDBC Driver Managerを使ってデータベースドライバを取得し、データベースと接続を行って、データベースアプリケーションを記述する事になる。
また、Javaのオブジェクト指向言語の特性を生かして、JDBCの基本APIに無い機能を各ドライバに同梱する事も可能である。この場合、JDBC APIのスーパーセットのクラスを呼び出すことでこれらの機能を利用可能にすることが可能である。
たとえば、初期のOracle社のOracle Database(Oracle8)用JDBCドライバは当時のJDBC APIがBLOB(Binary Large Object Block)、CLOB(Charactor Large Object Block)に対応していなかったため独自に機能拡張し、BLOBとCLOBに対応していた。
JDBCドライバは4つのタイプにカテゴライズされる。
|
|
|
|---|---|
| 主要技術 | プログラミング言語Java - Javaプラットフォーム - Java Development Kit - Java仮想マシン - Java Runtime Environment - Javaコンパイラ - Javaバイトコード - JAR |
| 歴史 | Javaに対する批判 - Java Community Process - サン・マイクロシステムズ |
| 言語機能 | 文法 - Javaの予約語 - パッケージ - Javadoc |
| 関連技術 | Jakarta Project - Apache Tomcat - NetBeans - Java Beans - Java Message Service - Java Transaction API - Java3D - JDBC - Java Web Start - Applet - Servlet - JavaServer Pages - Java Foundation Classes |