JDBC を使用して MySQL データベースに接続する
JDBC は Java データベース コネクティビティの略です。 この Java API は、クエリをデータベースに接続して実行します。
API は、JDBC ドライバーを使用してデータベースに接続します。 ドライバーは、JDBC-ODBC ブリッジ ドライバー、ネイティブ ドライバー、ネットワーク プロトコル ドライバー、シン ドライバーの 4 種類で構成されます。
JDBC を使用してデータベースに接続するための基本要件
MySQL は、Java プログラミング言語を使用して開発されたアプリケーションに、MySQL Connector/J との接続を提供します。 Connector/J は、JDBC API とそのいくつかの付加価値拡張を実装しています。
MySQL データベースを Java に接続するには、システムに 2つの主要コンポーネントをインストールする必要があります。
- Java 開発キット (JDK)
- MySQL JDBC ドライバー
上記の要件に加えて、Java コードを実装するための IDE が必要です。
JDBC ドライバーがない場合は、インターネットから関連するドライバーを検索してシステムにダウンロードします。 また、以下のリンクを使用して MySQL インストーラーをダウンロードし、そこから Connector/J コネクタをインストールできます。
https://dev.mysql.com/downloads/windows/installer/8.0.html
または、システムに MySQL をインストールするときにコネクタをインストールできます。 次に、mysqlconnector.jar
ファイルをロードする必要があります。
jar ファイルをコピーして JRE/lib/ext
フォルダーに貼り付ければ、準備完了です。 両方の要件を準備したら、Java コードを実装して MySQL データベースに接続できます。
JDBC を使用して MySQL データベースに接続する
接続をセットアップする前に、以下のように Java コード用の SQL ライブラリをインポートする必要があります。
import java.sql.Connection; // To create a connection
import java.sql.DriverManager; // To access the JDBC ddriver
import java.sql.SQLException; // provides info on database access errors or other errors
次に、以下のようにドライバー クラスを定義できます。
Class.forName("com.mysql.cj.jdbc.Driver");
ドライバ クラス com.mysql.jdbc.Driver
は MySQL データベースのドライバ クラスでしたが、現在は非推奨です。 上記のように、新しいドライバー クラスは com.mysql.cj.jdbc.Driver
です。
これで、MySQL データベースへの接続を作成できます。 接続するための構文は次のとおりです。
Connection con = DriverManager.getConnection(ConnectionString);
ここで、ConnectionString
は重要なフェーズであり、ConnectionString
を記述する構文は次のとおりです。
"jdbc:mysql://host:port/database","username","password"
上記の接続文字列を説明すると、jdbc
は API であり、mysql
はデータベースです。 host
は、MySQL が実行されているサーバー名です。
ポート
はデータベースが使用するポート番号で、データベース
は接続するデータベース名です。 username
はデータベース ユーザーのユーザー名で、password
はデータベースに対するユーザーのパスワードです。
以下のように、文字列との接続を作成するために使用される構文を変更できます。
Connection con =
DriverManager.getConnection("jdbc:mysql://host:port/database", "username", "password");
完全なコード:
package mysqldemos;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLJDBC {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con =
DriverManager.getConnection("jdbc:mysql://host:port/database", "username", "password");
}
}
上記のコードを使用して MySQL データベースに接続する方法を見てみましょう。 データベース情報に従って、接続文字列のコンポーネントを変更する必要があることに注意してください。
package mysqldemos;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLJDBC {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/new", "root", "root");
}
}
コードは MySQL データベースに接続されているため、コードを実行しても何も出力されません。 これは、JDBC MySQL 接続文字列と関連リソースを使用して MySQL データベースを関連付ける方法です。
まとめ
この記事では、JDBC MySQL 接続文字列と、接続文字列に関連する導入およびいくつかの重要なコンポーネントについて説明します。 MySQL データベースへの接続を設定するための要件と、これらの機能を実現することで Java コードを介して接続を設定する方法を確認しました。
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.