Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Java

JDBCドライバとは?概要や使い方をご紹介

投稿日:2021年4月21日 更新日:

<目次>

(1) JDBCドライバとは?概要や使い方をご紹介
 (1-1) JDBC及びJDBCドライバとは?
  (1-1) JDBC API
  (1-2) JDBCドライバマネージャー
  (1-3) JDBCドライバAPI
  (1-4) JDBCドライバ
  (1-5) 備考

(1) JDBCドライバとは?概要や使い方をご紹介

Javaを勉強する中で耳にする「JDBCドライバ」についてです。JDBCドライバを説明するにあたって、JDBCとは?についても触れておきます。

(1-1) JDBC API

JDBCは「Java Database Connectivity」の略で、データベースへの接続を扱うためのAPIです。具体的には、DBへの接続、DBへのクエリ発行、クエリ結果の取得といったデータベースに対する各種操作を行う事ができます。

DBも種類が沢山あり、OracleやSQLServer等の商用データベースから、MySQLやPostgreSQL等のオープンソースのものなど幅広く存在するため、それらの間でのインターフェイスを統一し、汎用的に使えるようにする目的で開発されたのが「JDBC」のAPIです。

JDBCを使う事で、Postgreに接続しようが、Oracleに接続しようが、何に接続しようが「常に接続はgetConnectionメソッド」といった具合に統一したルールでDBへのアクセスが可能になります。

JDBCは主に4つの要素から成り立っており、全体像としては次のようになっています。

(図111)

目次にもどる

(1-2) JDBCドライバマネージャー

アプリケーションの開発者が利用するAPIで、定義されている各種インターフェイスを使用してアプリケーションを開発します。代表的なインターフェイスは以下のようなものがあり、これらのインターフェイスは各データベース(Oracle、SQLServer、MySQL)に対応したものが用意されています(後述のJDBCドライバを参照)。

(表)

DriverManager 各DBへのドライバを管理するためのクラスです。代表的な用途が「DriverManager.getConnection()」によるデータベースへの接続の確立です。
(使用例)
Connection conn = DriverManager.getConnection(host,user,pass);
Connection 特定のデータベースに対する各種操作を定義したインターフェイスで、よく使う下記のようなメソッドが定義されています。

・Statement createStatement()メソッド
⇒ConnectionからStatementを発行します。

Statement このインターフェスから作られたオブジェクトを使って、SQLの発行などを行います。
ResultSet このオブジェクトはDBに対してSQLクエリを発行した結果を保持します。

複数のJDBCドライバを管理する役割を担います。具体的な例では、例えば複数のドライバが共存する環境下においてデータに接続する際に、適切なドライバが使用されているか?を保証したりします。

java.sqlパッケージのDriverManagerクラスにて機能提供されており、代表的な用途が「DriverManager.getConnection()」によるデータベースへの接続の確立です。
 
(例)
Connection conn = DriverManager.getConnection(host,user,pass);

 

目次にもどる

(1-3) JDBCドライバAPI

JDBCマネージャー←→JDBCドライバ間で規定されているAPIで、主にJDBCドライバを開発する人たちが利用します。
 

(1-4) JDBCドライバ

JDBC APIで規定されたインターフェイスを使って、各種ベンダーのデータベース(Oracle、SQLServer、MySQLなど)に接続するためのプログラムです。
 
実態はライブラリ(jar)ファイルとして提供されており、OracleやMySQLなどデータベース毎に用意されています。
 
(例)
MySQL:mysql-connector-java-5.1.22-bin.jar
Oracle:ojdbc6.jar

 

目次にもどる

(1-5) 備考

JDBC接続は通常ドライバ経由で直接接続はされず、「コネクションプール」を介して利用される事が多いです。
 
 

Adsense審査用広告コード


Adsense審査用広告コード


-Java

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

「サーブレットコンテナ」や「サーブレットのライフサイクル」とは?(サンプルプログラム付)

※本記事は「サーブレットとは?その役割やHelloWorldサンプルコードのご紹介」の続編です。 (0)目次&概説 (2) サーブレットコンテナの基本  (2-1) サーブレットコンテナとは?  (2 …

セッションIDとは?JSPでsessionを保存&取得するサンプルプログラムと代表的なメソッド紹介

(0)目次&概説 (1) セッションとは  (1-1) 概要  (1-2) サンプルプログラム   (1-2-1) 概要&画面遷移   (1-2-2) HelloSession.jsp   (1-2- …

クッキーとは?JSPでCookieを保存&取得するサンプルプログラムと代表的なメソッド紹介

(1) セッションとは (2) クッキーとは  (2-1) 概要  (2-2) サンプルプログラム   (2-2-1) 概要&画面遷移   (2-2-2) HelloCookie.jsp   (2-2 …

JSP/Servletで必須入力チェックを実装する方法+サンプルプログラムや操作動画も紹介

<目次> (1) JSP/Servletで必須入力チェックを実装する方法  (1-1) 必須入力チェックの概要   (1-1-1) 全体の処理フロー   (1-1-2) 必須入力チェック部分の処理フロ …

Javaのprintfで日付の書式設定を行う方法

<目次> (1) Javaのprintfで日付の書式設定を行う方法  (1-1) printfの基本構文  (1-2) 時刻に関するフォーマット  (1-3) 日付に関するフォーマット (1) Jav …

  • English (United States)
  • 日本語
Top