JDBC を使用して MySQL データベースに接続する

Migel Hewage Nimesha 2023年10月12日
  1. JDBC を使用してデータベースに接続するための基本要件
  2. JDBC を使用して MySQL データベースに接続する
  3. まとめ
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 コードを介して接続を設定する方法を確認しました。

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

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.