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(画像の上側)を選択します。
次の画面でログインを求められますが、「No thanks, just start my download.」をクリックします。
ダウンロードしてきたファイルをダブルクリックすると解凍されます。解凍したファイルの中にmysql-connector-java-8.0.16.jarというファイルがあります。これがJDBCドライバです。
※上記画像やファイル名などに出てくる8.0.16はバージョンですが、これより新しいバージョンがリリースされていた場合、そちらを使ってください。
JDBCドライバをライブラリとして追加する
先ほど入手したmysql-connector-java-8.0.16.jarをプロジェクト直下に配置します。
画像のようなファイル構成になっていれば大丈夫です。
ここで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)