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

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

関連記事

木構造の探索における計算量の違いや木構造の種類について(B木/二分木/2-3探索木)

<目次> (1) 木構造の探索における計算量の違いや木構造の種類について(B木/二分木/2-3探索木)  (1-1) 木構造について  (1-2) 「B木」構造  (1-3) 「二分木」構造  (1- …

GitHubのWebAPIをコールしてユーザー情報を取得するサンプルプログラムの解説+エラー対応も2例紹介

(0)目次&概説 (1) 目的  (1-1) 記事の目的 (2) APIの概要  (2-1) APIとは?  (2-2) Web APIとは?  (2-3) Web APIの様々な呼び方   (2-3 …

Linuxでアプリケーションサーバを構築する手順の例

<目次> (1) Linuxでアプリケーションサーバを構築する手順の例  (1-1) APサーバの全体像  (1-2) APサーバの構築手順  (1-3) 各手順のURL (1) Linuxでアプリケ …

JavaScriptでAttributeの値を削除(Remove)する方法

<目次> (1) JavaScriptでAttributeの値を削除(Remove)する方法  (1-1) 構文  (1-2) サンプルプログラム   (1-2-1) サンプルプログラムの概要   ( …

Javaの動的Webプロジェクト作成での事前設定と雛形Webプロジェクト作成

「動的Webプロジェクト」とはHTMLのような静的ページのみならず、ServletやJSPを用いてWebアプリケーション開発をする際に作成します。本記事ではEclipseにて「動的Webプロジェクト」 …

  • English (United States)
  • 日本語
Top