java jdbc tutorial what is jdbc
このJDBCチュートリアルでは、基本から始めて、Java Database Connectivity(JDBC)のコンポーネント、アーキテクチャ、およびドライバのタイプについて説明します。
このチュートリアルでは、JDBCとは何か、これまでにリリースされたバージョン、JDBCを続行する前に必要な前提条件、ドライバーの種類などについて説明します。このチュートリアルの最後に、Java DatabaseConnectivityまたはJDBCの基本と場所について説明します。使用できますか。
このチュートリアルは、JDBCの基本から始めましょう。
学習内容:
JavaJDBCチュートリアルのリスト
チュートリアル#1: JDBC(Java Database Connectivity)とは (このチュートリアル)
チュートリアル#2: プログラミング例を使用したJavaJDBC接続チュートリアル
チュートリアル#3: JDBC DriverManager、JDBCプリペアドステートメントおよびステートメント
チュートリアル#4: JDBC ResultSet:JavaResultSetを使用してデータを取得する方法
チュートリアル#5: 例を使用したJavaJDBCトランザクション管理
チュートリアル#6: JDBC例外処理–SQL例外を処理する方法
チュートリアル#7: JDBCバッチ処理とストアドプロシージャのチュートリアル
チュートリアル#8: トップ25以上のJDBCインタビューの質問と回答
JDBCとは
ほとんどのJavaアプリケーションでは、データを取得、操作、および処理するためにデータベースと対話する必要が常にあります。この目的のために、JavaJDBCが導入されました。
JDBCは、Java DatabaseConnectivityで一般的に使用される短縮形です。 JDBCを使用することで、Oracle、MySQL、MSAccessなどのさまざまなタイプのリレーショナルデータベースと対話できます。
JDBCの前に、ODBC APIは、データベースに接続して操作を実行するために導入されました。 ODBCは、Cプログラミング言語で記述されているため、プラットフォームに依存するODBCドライバーを使用します。 JDBC APIはJava言語で記述されており、プラットフォームに依存せず、Java自体をプラットフォームに依存しません。
次の図は、JDBCの基本的なフローを示しています。

JDBCのバージョン
当初、SunMicrosystemsは1997年2月19日にJDK1.1でJDBCをリリースしました。その後、Javaプラットフォームの一部になりました。
次の表には、JDBCのバージョンと実装が含まれています。
| JDBCバージョン | JDKの実装 | 年 |
|---|---|---|
| JDBC 4.3 | Java SE 9 | 2017年 |
| JDBC 1.2 | JDK 1.1 | 1997年 |
| JDBC 2.1 | JDK 1.2 | 1999年 |
| JDBC 3.0 | JDK 1.4 | 2001年 |
| JDBC 4.0 | Java SE 6 | 2006年 |
| JDBC 4.1 | Java SE 7 | 2011 |
| JDBC 4.2 | Java SE 8 | 2014年 |
前提条件
JDBCチュートリアルを進める前に、JavaプログラムでJDBCを使用できるように、Javaに関する十分な知識が必要です。
=>推奨読書: Javaチュートリアル
JavaアプリケーションにJDBCを実装するための前提条件は次のとおりです。
1.1。 Javaは、Javaアプリケーションを作成してJDBCを使用するシステムにインストールする必要があります。
これを参照してください リンク Javaインストール用。
二。 DBMSに接続するには、適切なJDBCドライバーjarファイルが必要です。データベースごとに異なるJDBCドライバーjarファイルがあります。
次の表のリンクを使用して、特定のデータベース用にこれらのファイルをダウンロードできます。
| ダウンロードリンクのあるデータベース | JDBCドライバープロバイダー名 | JARファイル名 |
|---|---|---|
| MySQL | オラクル株式会社 | MySQLmysql-connector-java-VERSION.jar |
| オラクル | オラクル株式会社 | オラクルojdbc8.jar |
| SQLサーバー | マイクロソフト | SQLサーバーsqljdbc41.jar、sqljdbc42.jar |
| Postgre SQL | PostgreSQLグローバル開発グループ | Postgre SQLpostgresql-VERSION.jar |
| SQLite | Xerial.org | sqlite-jdbc-VERSION.jar |
| MSAccess | UCanAccess.com | MSAccessucanaccess-VERSION.jar |
JDBCのドライバータイプ
それでは、プログラムに適したドライバーを選択するのに役立つ、JDBCのドライバーのタイプについて説明しましょう。
すべてのRDMS(リレーショナルデータベース管理システム)にシステムの外部からアクセスする場合は、ドライバーが必要です。したがって、SQLクエリを実行し、データベースから結果を取得するには、JDBCドライバが必要です。
JDBCで使用できるドライバーには4つの異なるタイプがあります。それらは、データベースへのアクセスに使用される手法に基づいて分類されます。
それらは次のとおりです。
- タイプI:JDBC-ODBCブリッジ
- タイプII:ネイティブAPT-部分的にJavaドライバー
- タイプIII:ネットワークプロトコル-完全にJavaドライバー
- タイプIV:シンドライバー-完全にJavaドライバー
タイプI:JDBC-ODBCブリッジ
このタイプのドライバーでは、JDBC –ODBCブリッジがクライアントとDBサーバー間のインターフェースとして機能します。ユーザーがJavaアプリケーションを使用してJDBC– ODBC Bridgeを使用してデータベースに要求を送信する場合、ユーザーは最初にJDBCAPIをODBCAPIに変換してから、データベースに送信します。結果がDBから受信されると、ODBC APIに送信され、次にJDBCAPIに送信されます。
このドライバーは、OSのネイティブライブラリに依存するODBCを使用するため、プラットフォームに依存します。このタイプでは、JDBC – ODBCドライバーが各クライアントシステムにインストールされ、データベースがODBCドライバーをサポートしている必要があります。
クライアントマシンへのインストールが問題にならない場合は、このドライバーを使用できます。使い方は簡単ですが、JDBCメソッド呼び出しがODBCメソッド呼び出しに変換されるため、パフォーマンスが低下します。
注:JDK1.2で使用可能です
Java 8は、このタイプのドライバーをサポートしていません。データベースベンダーが提供するJDBCドライバを使用することをお勧めします。
図:タイプI:JDBC –ODBCブリッジドライバー
タイプII:ネイティブAPI –部分的にJavaドライバー
タイプIドライバーに似ています。ここで、ODBC部分は、タイプIIドライバーのネイティブコードに置き換えられています。このネイティブコード部分は、特定のデータベース製品を対象としています。データベースのクライアント側のライブラリを使用します。このドライバーは、JDBCメソッド呼び出しをデータベースネイティブAPIのネイティブ呼び出しに変換します。
データベースがユーザーから要求を受け取ると、要求は処理され、結果とともにネイティブ形式で返送されます。結果はJDBC形式に変換され、Javaアプリケーションに渡されます。
実装が迅速かつ安価であったため、DBベンダーによって即座に採用されました。また、DBのネイティブ形式です。
このタイプのドライバーは、タイプIドライバーよりも高速な応答とパフォーマンスを提供します。
図:タイプII:ネイティブAPT –一部Javaドライバー
タイプIII:ネットワークプロトコル
タイプIIIドライバーは完全にJavaで書かれています。これは、データベースにアクセスするための3層アプローチのようなものです。 JDBCメソッド呼び出しを中間サーバーに送信します。 JDBCに代わって、中間サーバーはデータベースと通信します。アプリケーションサーバー(中間層または中間層)は、JDBC呼び出しを直接または間接的にベンダー固有のデータベースプロトコルに変換します。
このアプローチでは、アーキテクチャの効率は向上せず、コストもかかります。これは、ほとんどのデータベースベンダーがこのドライバーを好まないためです。アプリケーションサーバーを使用するため、このアプローチを効率的に使用するには、アプリケーションサーバーに関する十分な知識が必要です。
図:タイプIII:ネットワークプロトコル–完全なJavaドライバー
タイプIV:シンドライバー
タイプIVドライバーは、JDBC呼び出しをベンダー固有のデータベースプロトコルに直接変換する直接実装されます。現在、ほとんどのJDBCドライバーはタイプIVドライバーです。完全にJavaで記述されているため、プラットフォームに依存しません。クライアントのJVM(Java仮想マシン)内にインストールされるため、クライアントまたはサーバー側にソフトウェアをインストールする必要はありません。このドライバーアーキテクチャには、単一のドライバーでDBと直接通信するためのすべてのロジックがあります。
他のタイプのドライバーよりも優れたパフォーマンスを提供します。簡単に展開できます。現在、このタイプのドライバーは、プログラマーが他のソースに依存することなく直接使用できるように、データベースベンダー自体によって開発されています。
図:タイプIV:シンドライバー–完全にJavaドライバー
JDBCのアプリケーション
JDBCは、Javaアプリケーション、アプレット、サーブレット、またはDBに接続するその他のJavaプログラムで使用できます。
例えば、 スタンドアロンアプリケーション、Webサイト、銀行アプリケーションなど、
JDBCのアーキテクチャとコンポーネント
JDBCアーキテクチャ: DBにアクセスするための2種類の処理モデルをサポートしています。
これらは:
- 2層アーキテクチャ
- 3層アーキテクチャ
#1) 2層アーキテクチャ:
これは、Javaアプリケーションがデータベースに直接接続するのに役立ちます。特定のDBとの通信にはJDBCドライバーが必要です。ユーザーは要求をDBに送信し、JDBCドライバー以外のメディエーターなしで直接応答を受信します。同じマシンまたはリモートマシンのデータベースは、ネットワークを介して接続されています。これは、クライアントサーバーアーキテクチャと呼ぶことができます。

#2)3層アーキテクチャ:
これは、2層アーキテクチャの反対です。ユーザーとデータベースの間には直接の通信はありません。ユーザーはリクエストを中間層(アプリケーションサーバー)に送信し、そこからリクエストがデータベースに再度送信されます。次に、データベースは要求を処理し、ユーザーが結果/応答を受信する中間層に結果を送信します。
展開と管理が簡素化されます。経営情報システム(MIS)のディレクターは、アクセス制御と企業データの更新を簡単に維持できるため、このアーキテクチャを使用しています。

3層アーキテクチャ
JDBCのコンポーネント
JDBCで使用できる4つの主要なコンポーネントがあります。彼らです:
- JDBC API
- JDBCドライバーマネージャー
- JDBCテストスイート
- JDBC –ODBCブリッジ
#1)JDBC API: これは、任意のJavaプログラムからリレーショナルデータベースへのアクセスを提供します。 JDBC APIには、開発者向けの標準ツール/ APIを提供するJavaで記述されたクラスとインターフェースのセットがあります。 JDBC APIを使用すると、SQLクエリを作成して実行し、結果を受け取り、データに変更を加えて、結果をデータベースに保存することができます。
単一のJavaプログラムから、Oracle、MySQL、MSAccessなどの複数のデータベースと対話できます。 JDBC APIを使用すると、Oracle DBにアクセスするための1つのプログラム、MySQLにアクセスするための別のプログラム、MSAccessにアクセスするための別のプログラムなどを作成する必要はありません。
JDBC APIは、Java Standard Edition(Java SE)とJava Enterprise Edition(Java EE)の両方を備えたJavaPlatformの一部です。
JDBC 4.0APIには2つのパッケージがあります。
- Java.sql
- Javax.sql
どちらのパッケージもJavaSEとJavaEEで利用できます。
#2)JDBCドライバーマネージャー: JDBCの従来の管理レイヤーはDriverManagerであり、ユーザーとドライバーの間のインターフェースとして機能します。使用可能なドライバーの追跡の詳細を保持し、データベースと適切なドライバー間の接続を確立します。 JavaアプリをJDBCドライバーに接続できるオブジェクトを定義します。したがって、これはJDBCAPIのバックボーンです。
次のチュートリアルでは、ドライバーマネージャーについて説明します。
#3)JDBCテストスイート: JDBCドライバーがプログラムを実行するかどうかを確認するのに役立ちます。これは、プログラムがJDBCドライバーによって実行されるという信頼性と適合性を提供します。
#4)JDBC- ODBCブリッジ: これは、ODBCドライバーをJDBCドライバーとして利用します。これは、このチュートリアルのドライバータイプのセクションですでに説明されているTYPEIドライバーに似ています。
注意すべき重要なポイント:
- JDBCは、Javaアプリケーション、アプレット、サーブレットなどのJavaプログラムからデータベースと対話するために使用されます。
- JDBCの最新バージョンはJDBC4.3です。21以降の安定したリリースです。st2017年9月。
- タイプIドライバー: JDBC ODBCブリッジ–使いやすいですが、ODBCはプラットフォームに依存します。また、低パフォーマンスのドライバーです。
- タイプIIドライバー: ネイティブAPI–ネイティブコード部分がタイプIドライバーのODBC部分に置き換わり、特定のデータベース製品を対象としています。タイプIドライバーよりも高速です。
- タイプIIIドライバー: 中間層またはアプリケーションサーバーは、JDBCドライバーとデータベース間のインターフェイスとして使用されます。アプリケーションサーバーを効果的に使用するには、アプリケーションサーバーの知識が必要です。
- タイプIVドライバー: JDBCドライバーはすぐにデータベースと通信します。データベースベンダーはこのタイプのドライバーを使用しており、顧客や開発者に提供しています。
- JDBCは、Java言語で記述されたすべてのプログラムで使用できます。
結論
このJDBCチュートリアルでは、JDBCの基本と、JDBCに進む前に必要な前提条件について学習しました。開発者がプログラムで使用するドライバーのタイプを決定するのに役立つバージョンと4つのタイプのドライバーを見てきました。
また、JDBCのアーキテクチャとその4つのコアコンポーネントについても説明しました。
推奨読書
- JDBC DriverManager、JDBCプリペアドステートメントおよびステートメント
- ChromeDriver Seleniumチュートリアル:ChromeでのSeleniumWebdriverテスト
- Java SWINGチュートリアル:コンテナ、コンポーネント、およびイベント処理
- 初心者向けのJAVAチュートリアル:100以上の実践的なJavaビデオチュートリアル
- ApachePOIを使用したSeleniumWebDriverのデータ駆動型フレームワーク
- Selenium WebDriver switchTo()メソッドを使用したiFrameの処理
- コード例を使用したSeleniumWebdriverを使用したアクセシビリティテスト
- さまざまな人気のあるブラウザでSeleniumWebDriverを実行する方法