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

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

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

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


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

下記 URL からダウンロードできます:point_down_tone2:
https://dev.mysql.com/downloads/connector/j/

以下のような画面が出てきたでしょうか？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562982/57650dd5-cbc2-1fb5-b2c9-3b57b8caebe4.png)


次にSelect Platform: Platform Independent を選択します。
下のZIPと書いてある方をダウンロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562982/d0399382-4f00-27fd-cade-98a999c9faaa.png)

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

<img width="650" alt="コメント 2020-02-14 112439.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562982/ef482456-3d4f-c40d-db33-360236723c10.png">


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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562982/9fb55394-edb9-831b-ba0d-b97a9f1af209.png)

Zipファイルが展開されると、mysql-connector-java-x.x.xx フォルダが作成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562982/8c5b95b1-b5ab-0fc6-5466-6d68964fc34a.png)


このフォルダを開きます。
"mysql-connector-java-x.x.xx-bin.jar"があることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562982/7714f792-82a0-b7e5-a19c-9288e268018d.png)

これで、JBDCドライバの取得ができました:relaxed:
#2. JARファイルをプロジェクトに入れる
JBDCドライバの取得ができたので、手順2です。このJARファイルをプロジェクトに入れていきます。
**Eclipse**を使用していますので、プロジェクトの**「ビルドパス」**に追加すればJARファイルを実行できます。
**動的Webプロジェクト**の場合は、**WEB-INF/lib以下**にJARファイルを配置します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562982/9ea6552c-ee58-cbbf-d793-9f809093c061.png)

これで、準備完了です!!!
#3. データ接続を試してみる
手順3でしっかりと接続できているか試してみましょう。接続を確認するクラスなどを作成し以下のように接続を確認しましょう。


```java: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で新たに設定する事も可能です:point_down_tone2:
CREATE USER '新しいユーザー名'@'localhost'; GRANT SELECT ON データベース名.* TO '新しいユーザー名'@'localhost'; FLUSH privileges;

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