【Java】MySQLを絶対に接続させたい!!!~JDBCドライバの取得とJARファイル位置について~


MySQLをプロジェクトで使いたい....

今回のWebアプリケーション制作では、MySQLというデータベースを使ってのアプリ制作です。
Eclipseを使用してJavaでプログラムを書いていたのですが、MySQLってどうやって接続して使うの?という疑問....

そこで今回はJavaのプログラムからMySQL(データベース)を利用する手順をまとめました。手順は以下の通りです

1. JDBCドライバの取得(Connector/J)
2. JARファイルをプロジェクトに入れる
3. データ接続を試してみる

JDBCドライバとは?

手順1に入る前に...JBDCドライバについて簡単に説明しておきます
JDBCドライバとは、データベースを操作するために必要となるクラスやインターフェース群です。それぞれのデータベース開発元がJARファイル(クラスやインターフェースをまとめて格納したファイル)として提供しています。
今回使用するデータベースはMySQLなのでMySQL専用ののJBDCドライバの取得が必要です。
それが「Connector/J」とです

1. JDBCドライバの取得(Connector/J)

手順1です。MySQL専用JBDCドライバConnector/Jを早速取得していきましょう。

下記 URL からダウンロードできます
https://dev.mysql.com/downloads/connector/j/

以下のような画面が出てきたでしょうか?

次にSelect Platform: Platform Independent を選択します。
下のZIPと書いてある方をダウンロードします。

ダウンロード出来たら次は展開です。
mysql-connector-java-x.x.xx.zip を右クリック。
「7-Zip -> mysql-connector-java-x.x.xx\ に展開」を選択します。
*7-Zip(圧縮・解凍ソフト)はダウンロードが必要です。

*拡張子(zip)が表示されていない方は以下の設定をしてみてください。

Zipファイルが展開されると、mysql-connector-java-x.x.xx フォルダが作成されます。

このフォルダを開きます。
"mysql-connector-java-x.x.xx-bin.jar"があることを確認します。

これで、JBDCドライバの取得ができました

2. JARファイルをプロジェクトに入れる

JBDCドライバの取得ができたので、手順2です。このJARファイルをプロジェクトに入れていきます。
Eclipseを使用していますので、プロジェクトの「ビルドパス」に追加すればJARファイルを実行できます。
動的Webプロジェクトの場合は、WEB-INF/lib以下にJARファイルを配置します。

これで、準備完了です!!!

3. データ接続を試してみる

手順3でしっかりと接続できているか試してみましょう。接続を確認するクラスなどを作成し以下のように接続を確認しましょう。

ConnectSample
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectSample {

    public static void main(String[] args) {
        //DB接続用定数
        String DATABASE_NAME = "データベース名";
        String PROPATIES = "?characterEncoding=UTF-8&serverTimezone=JST";
        String URL = "jdbc:mySQL://localhost/" + DATABASE_NAME+PROPATIES;
        //DB接続用・ユーザ定数
        String USER = "ユーザー名";
        String PASS = "";

        try {
            //MySQL に接続する
            Class.forName("com.mysql.cj.jdbc.Driver");
            //データベースに接続
            Connection conn = DriverManager.getConnection(URL, USER, PASS);

            // データベースに対する処理
            System.out.println("データベースに接続に成功");

        } catch (SQLException | ClassNotFoundException e) {
            e.printStackTrace();
        }

    }

}

URL:jdbc:mySQL://localhost/+データベース名

ユーザー名はMySQLで新たに設定する事も可能です
CREATE USER '新しいユーザー名'@'localhost'; GRANT SELECT ON データベース名.* TO '新しいユーザー名'@'localhost'; FLUSH privileges;

接続を確認できれば完了です。
お疲れ様でした