JDBC と MySQL

From ArchWiki
Jump to navigation Jump to search

このページでは Java プログラムから MySQL データベースにアクセスできるように設定する方法を説明します。

インストール

MySQL のインストール

MySQL の実装をインストールしてください。

ネットワークからのアクセスを許可するために、/etc/mysql/my.cnf の以下の行をコメントアウトしてください:

#skip-networking

それから MySQL サービスを起動してください。

JDBC のインストール

使用している MySQL にあわせて適切な JDBC ドライバーをインストールしてください:

AUR パッケージを使用する場合、以下のようにドライバーを JRE の外部ライブラリディレクトリにリンクする必要があります:

mariadb-jdbc の場合:

# ln -s /usr/share/java/mariadb-jdbc/mariadb-java-client.jar /usr/lib/jvm/default/jre/lib/ext/

mysql-jdbc の場合:

# ln -s /usr/share/java/mysql-jdbc/mysql-connector-java-bin.jar /usr/lib/jvm/default/jre/lib/ext/

テスト

以下のコマンドを実行して MySQL のコマンドラインツールを開いてください:

$ mysql

テストデータベースの作成

以下のコマンドで test データベースが作成され、パスワードが barfoo ユーザーに全ての権限が与えられます。名前は適当に決めてください。

create database test;
grant all privileges on test.* to user@localhost identified by "bar";
flush privileges;

その後、Ctrl + d でコマンドラインツールを抜けてください。

テストプログラムの作成

テキストエディタを使って以下の内容の DBDemo.java ファイルを作成してください。ユーザー名とパスワードは適当に変更してください。

import java.sql.*;

public class DBDemo {
  public static void main(String[] args) throws SQLException, ClassNotFoundException {
    // Load the JDBC driver
    Class.forName("org.mariadb.jdbc.Driver");
    System.out.println("Driver loaded");

    // Try to connect
    Connection connection = DriverManager.getConnection
      ("jdbc:mysql://localhost/test", "foo", "bar");

    System.out.println("It works!");

    connection.close();
  }
}

(MariaDB ではなく) Oracle MySQL を使用する場合、上記のコードの中のクラス名は com.mysql.jdbc.Driver にする必要があります。

プログラムの実行

以下のコマンドでプログラムをコンパイル・実行します:

$ javac DBDemo.java
$ java DBDemo

正しく設定されていれば、以下のように表示されます:

Driver loaded
It works!