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のthisとは?コンストラクタで引数を与えている場合・メソッド引数に使われる場合もご紹介

<目次> (1) Javaのthisとは?コンストラクタに出現する場合やメソッド引数に使われる場合もご紹介  (1-1) thisとは?  (1-2) 用途1:自分自身を指定【重要】  (1-3) 用 …

Javaでハッシュ値を計算する方法について

<目次> (1) Javaでハッシュ値を計算する方法について  (1-1) ハッシュを使った探索の概要  (1-2) ハッシュからアドレスを計算する方法  (1-3) サンプルプログラム (1) Ja …

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

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

JSPとは?役割や基本文法およびHelloWorldのサンプルプログラムの紹介

(0)目次&概説 (1) JSPの基本  (1-1) JSPとは?  (1-2) JSPのHelloWorld (2) JSPの基本文法  (2-1) ディレクティブ  (2-2) アクションタグ   …

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

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

  • English (United States)
  • 日本語
Top