Java Database Connectivity
JDBCを利用する為には、100% Pure Java 製の Apache Derby が同梱されている Java SE 6 以降のSDKを除き、各DBMS用のJDBCドライバを用意する必要がある。現在開発が行われているほとんどのデータベースではJDBCドライバが用意されている。 これらのドライバを管理するのが JDBC ドライバ・マネージャーである。JDBC ドライバ・マネージャーを用いると、複数のJDBCドライバを同時に利用することができる。JDBCを使うユーザーは、JDBCドライバをロードし(多くはClass.forName("ドライバクラス名")メソッドを利用して呼び出される。また、JDBC4.0以降であればドライバの自動解決が機能するため、DriverManager.getConnnection("jdbc:subprotocol:subname形式のデータベースURL")メソッドを使うことができる。
オラクルは、JDBC ドライバと供給元のリスト を提供している。
Simba Technologies は、外部データソースのカスタム JDBC ドライバを開発できる SDK を出荷している。
CData Software は、様々なアプリケーション、データベース、Web API のタイプ4の JDBC ドライバを出荷している。
これらのメソッドを利用した場合コンパイラによるそのドライバの依存チェックが行われない為、コンパイル時にドライバをあらかじめ参照できる様に設定しなくて良いなどの利点がある)、JDBC ドライバ・マネージャーを使ってデータベースドライバを取得し、データベースと接続を行って、データベースアプリケーションを記述する事になる。 また、Java のオブジェクト指向言語の特性を生かして、各ドライバはJDBCの基本APIに無い機能を同梱する事もできる。この場合、JDBC APIのスーパーセットのクラスを呼び出すことでこれらの機能を利用可能にすることができる。
たとえば、初期のオラクルの Oracle Database (Oracle 8) 用JDBCドライバは、当時の JDBC API が BLOB、CLOBに対応していなかったため、独自に機能拡張をしてBLOBとCLOBに対応していた。