Webエンジニアのメモ帳

技術的な話を中心に書いています。

【Java】MySQLに接続するための設定を行う

JavaのプログラムからMySQLに接続するための設定を行う方法を説明します。

前提

今回は、Javaフレームワークなどは特に使用しません。またビルドツールはMavenを使い、エディターはIntelliJ IDEAを使用します。

また、MySQLのインストール、DBおよびテーブル、ユーザーの作成は済んでいるものとします。

DBは以下の通りとします。

  • DB名: test
  • ユーザー名: testUser
  • パスワード: testPass
  • テーブル名: animal

テーブルの内容は以下の通りとします。

mysql> desc animal;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id    | int(11)      | YES  |     | NULL    |       |
| name  | varchar(100) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
mysql> select * from animal;
+------+------+
| id   | name |
+------+------+
|    1 | Inu  |
+------+------+
1 rows in set (0.00 sec)

今回動かすJavaプログラムは、このテーブルにレコードを追加するものです。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class Main {
  public static void main(String args[]) {
    String url = "jdbc:mysql://localhost:3306/test";
    String user = "testUser";
    String password = "testPass";
    try {
      Connection conn = DriverManager.getConnection(url, user, password);
      String sql = "INSERT INTO animal VALUES (2, 'Neko')";
      PreparedStatement ps = conn.prepareStatement(sql);
      ps.executeUpdate();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

このプログラムが正しく動き、テーブルにレコードが追加されることを目指します。

JDBCドライバのインストール

以下のサイトにアクセスします。 https://dev.mysql.com/downloads/connector/j/

少し下にスクロールし、Select Operating Systemは「Platform Independent」を選択します。

TARとZIPの2つの形式から選んでダウンロードできますが、今回はTAR(画像の上側)を選択します。

f:id:iberia9lavapies:20190713220636p:plain

次の画面でログインを求められますが、「No thanks, just start my download.」をクリックします。

f:id:iberia9lavapies:20190713220605p:plain

ダウンロードしてきたファイルをダブルクリックすると解凍されます。解凍したファイルの中にmysql-connector-java-8.0.16.jarというファイルがあります。これがJDBCドライバです。

※上記画像やファイル名などに出てくる8.0.16はバージョンですが、これより新しいバージョンがリリースされていた場合、そちらを使ってください。

JDBCドライバをライブラリとして追加する

先ほど入手したmysql-connector-java-8.0.16.jarをプロジェクト直下に配置します。

画像のようなファイル構成になっていれば大丈夫です。

f:id:iberia9lavapies:20190713221826p:plain

ここでmysql-connector-java-8.0.16.jarを右クリックし、Add as Library...を選択、次の画面でOKを押します。これでJDBCドライバがライブラリとして認識されるようになりました。

pom.xmlを編集する

pom.xmlの<dependency>のところに

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.16</version>
  <type>jar</type>
  <scope>test</scope>
</dependency>

を追加します。

動作検証

これで、JavaプログラムからMySQLを操作できるようになりました。

冒頭に記載したMainクラスのmainメソッドを実行し、MySQLにログインしてSELECT文を発行すると、以下のようにとなっているはずです。

mysql> select * from animal;
+------+------+
| id   | name |
+------+------+
|    1 | Inu  |
|    2 | Neko |
+------+------+
2 rows in set (0.00 sec)