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

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

関連記事

Javaの型とは?ジェネリクスの基本や使い方をご紹介

<目次> (1) Javaの型とは?ジェネリクスの基本や使い方をご紹介  (1-1) <T>とは?ジェネリクスとは?  (1-2) ジェネリクスを使う利点  (1-3) ジェネリクスをクラ …

Javaでファイルへの書き込みする方法の基礎(追記・上書き、改行の方法等)

<目次> (1) Javaでファイルへの書き込みする方法の基礎(追記・上書き、改行の方法等)  (1-1) STEP1:FileWriterクラスのインスタンス化  (1-2) STEP2:ファイルへ …

JSPやServletの画面をスマホ表示に対応させる方法~メディアクエリの導入~

<目次> (1) JSPやServletの画面をスマホ表示に対応させる方法 (2) 設定手順  (2-1) Step1:ビューポートの設定  (2-2) Step2:メディアクエリを記述したcssファ …

Javaで日付を整形する方法について

<目次> (1) Javaで日付を整形する方法について  (1-1) 構文  (1-2) サンプルプログラム (1) Javaで日付を整形する方法について 日付を扱っていて、例えば「Thu Dec 1 …

Javaのポリモフィズムのメリットや例をご紹介(サンプルプログラムあり)

<目次> (1) Javaのポリモフィズムのメリットや例をご紹介  (1-1) ポリモフィズムとは?  (1-2) サンプルプログラム  (1-3) ポリモフィズムのメリット  (1-4) 参考:ポリ …

  • English (United States)
  • 日本語
Top