Java - JDBC ドライバを使用した MySQL への接続
この章では、単一のテーブルを持つ単純なデータベースを作成してJavaのデータベースを学習し、java.JavaはJDBC(Java Database Connectivity)のデータベースに接続します。データ。 JDBCは、Oracle、MySQL、PostGreなどの多数のデータベースマネージャに接続できます
JDBCとは何ですか?
JDBC (Java Database Connectivity) は、JavaプログラムとOracle社が所有するSQLデータベース間の接続インターフェイスであり、Sun Microsystems社によって作成され、JDKバージョン1.1以降で使用できます。このテクノロジは、クライアントが MySQL データベースにアクセスする方法を定義するドライバです。JDBC ドライバーは、データベース内のデータを照会および更新するためのメソッドを提供します。JDBCはリレーショナル・データベース用のツールです。JDBCクラスはパッケージに含まれています java.sql および javax.sql.JDBC では、同じアプリケーションで複数の実装が可能です。この API は、対応するパッケージを動的に読み込み、ドライバー マネージャーで保存するのに役立つメカニズムに基づいています。JDBC API は、JDBC の作成に使用されます。
JDBC API は、次のタスクを実行するために使用されます。
- MySQL、Oracle などのリレーショナル データベースへの接続を確立します
- データベース サーバー上で実行する SQL クエリを送信します。
- プロセスThe results returned by running the SQL.
JDBC
- JDBC-ODBC Bridge (タイプ 1): このドライバーは、ODBC ドライバーを使用してサーバー データベースに接続します。データベースに接続するマシンにODBCドライバをインストールする必要があるため、このドライバは古く、選択の余地がない場合にのみ使用してください。
- ネイティブAPI (タイプ2): このタイプは、JDBC命令を変換して、クライアント上のネイティブドライバを介してデータベースを呼び出します。接続を確立するには、顧客データベースのAPIがマシンにインストールされている必要があります。
- ミドルウェアを使用してJavaで記述されたドライバ (タイプ3):このタイプは、ネットワークプロトコルを使用して、さまざまなタイプのデータベースと通信できる中間サーバーにメッセージを送信します。このドライバはアプレットで簡単に使用できますが、サーバーが必要です。中級 このドライバで動作するようにインストールされています。このドライバは、 パフォーマンスが悪い.
- ネイティブプロトコルを使用したJavaドライバ (タイプ 4): これは、JDBC メッセージをサーバーと互換性のあるネットワークプロトコルに変換することによってデータベースを直接呼び出すため、推奨されるドライバーです。次のような特定のドライバを使用する必要があります。OJDBC オラクルによって提供され、MySQL コネクタ/J MySQLデータベースの場合.
JDBC APIクラス
クラスはパッケージに含まれています java.sql.4つの重要なクラスは、DriverManager、Connection、Statement、PreparedStatement、およびResultSet.
nbsp;DriverManager: データベースのロードと設定を担当します。
- Connection: データベースに対する認証.
- Statement: SQLクエリをデータベースに送信.
- ResultSet: データ選択の場合、データベースから取得した結果を参照します。
Configuration は、JDBC API を使用する場合に最も重要なことです。最初に行うことは、使用するドライバーのクラスを選択することです。MySQLの場合、ドライバは com.mysql.jdbc.Driver Oracleの場合は、oracle.jdbc.driver.OracleDriverです。どちらもインターフェイスを実装しています java.sql.Driver.これら 2 つのクラスは jar.
2 番目に重要なことは、データベース接続 URL です。各ドライバーには独自の URL 構成がありますが、同じ URL 構成があります。host, ポート et スキーマ を接続 URL に含めます。MySQLログインの場合、形式は jdbc:mysql://<ホスト>:<ポート>:<図>.
もう一つの重要な詳細は、データベースに接続するためのユーザー名とパスワードです。
MySQLデータベースへの接続を確立するには、アクセスするURLを指定してConnectionクラスのオブジェクトをインスタンス化する必要があります。getConnection() メソッドは、
Database Configuration
ファイルからデータベースの詳細な構成を読み取るため、次の詳細を変更することで、OracleからMySQLに、またはMySQLからMySQLに簡単に切り替えることができます。#mysql DB プロパティ
#DB_DRIVER_CLASS=com.mysql.jdbc.Driver
#DB_URL=jdbc:mysql://localhost:3306/UserDB
#DB_USERNAME=usermysql
#DB_PASSWORD=usermysqlpw
#Oracle DB プロパティ
DB_DRIVER_CLASS=oracle.jdbc.driver.OracleDriver
DB_URL=jdbc:oracle:thin:@localhost:1571:MyDBSID
DB_USERNAME=useroracle
DB_PASSWORD=useroraclepw
Configuration は、JDBC API を使用する場合に最も重要なことです。最初に行うことは、使用するドライバーのクラスを選択することです。MySQLの場合、ドライバは com.mysql.jdbc.Driver Oracleの場合は、oracle.jdbc.driver.OracleDriverです。どちらもインターフェイスを実装しています java.sql.Driver.これら 2 つのクラスは jar.
2 番目に重要なことは、データベース接続 URL です。各ドライバーには独自の URL 構成がありますが、同じ URL 構成があります。host, ポート et スキーマ を接続 URL に含めます。MySQLログインの場合、形式は jdbc:mysql://<ホスト>:<ポート>:<図>.
もう一つの重要な詳細は、データベースに接続するためのユーザー名とパスワードです。
MySQL データベースへの接続
このプログラムはプロパティを読み取り、MySQLとの接続を作成します.
インポートjava.io.FileInputStream;まず、プロパティファイルからデータベース構成を読み取り、次にJDBCドライバをロードし、DriverManagerを使用して接続を作成します。Class.forName() メソッドの呼び出しは、new 演算子ではなくクラスのインスタンスを作成するため、作成するだけで使用しないため、重要です。オブジェクトはメモリ内に作成され、それ自体でDriverManager.
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class DBConnection {
public static Connection getConnection() {
Properties props = new Properties();
FileInputStream fis = null;
接続 con = null;
{
fis = new FileInputStream("db.properties");
props.load(fis);
// ドライバクラスを読み込みます
Class.forName(props.getProperty("DB_DRIVER_CLASS"));
// 今すぐ接続を作成します
con = DriverManager.getConnection(props.getProperty("DB_URL"),
props.getProperty("DB_USERNAME"),
props.getProperty("DB_PASSWORD"));
} catch (IOException |ClassNotFoundException |SQLException e) {
// TODO 自動生成された catch block
e.printStackTrace();
}
return con;
}
}
MySQLデータベースへの接続を確立するには、アクセスするURLを指定してConnectionクラスのオブジェクトをインスタンス化する必要があります。getConnection() メソッドは、
- URL を指定してデータベースの名前を作成します
- ユーザー名
- パスワード