Java で、JDBC を使って MySQL にアクセスする方法

Java で MySQL にアクセスするには、MySQL 用の JDBC のドライバが必要である。このドライバは MySQL のサイトから入手できる (MySQL Connector/J とあるので、安定版または最新バージョンをダウンロードする)。 ダウンロードしたものを解凍すると、mysql-connector-java-x.x.xx-bin.jar というファイルがあるはずなので、これを (Linux の場合は) $JAVA_HOME/jre/lib/ext にコピーする。ここに JAR ファイルを置いておく限り、このドライバ (JAR ファイル) に対する CLASSPATH は特に設定する必要はない。 以下はデータベース中の users テーブルから、name と password という 2つのフィールドを読み出す例である (MySQLJDBCTest.java という名前で保存)。
import java.sql.*;

public class MySQLJDBCTest {

    public static void main(String[] args) {

        try {
            // ドライバをロード
            Class.forName("org.gjt.mm.mysql.Driver");

            // データベースへ接続
            String url = "jdbc:mysql:///データベース名?&user=ユーザー名&password=パスワード&"
                       + "useUnicode=true&characterEncoding=UTF-8";
            Connection con = DriverManager.getConnection(url);

            // SQL 文を生成
            Statement s = con.createStatement();
            String sql = "SELECT * FROM `users`";

            // クエリーを実行して結果セットを取得
            ResultSet rs = s.executeQuery(sql);

            // 検索された行数分ループ
            while(rs.next()){
                String name     = rs.getString("name");  // ユーザー名
                String password = rs.getString("pass");  // パスワード

                // 表示
System.out.println(name + " / " + password);
            }

            // データベースから切断
            s.close();
            con.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
コンパイル
# javac MySQLJDBCTest.java
実行
# java MySQLJDBCTest
Java で MySQL にアクセスするには、MySQL 用の JDBC のドライバが必要である。このドライバは MySQL のサイトから入手できる (MySQL Connector/J とあるので、安定版または最新バージョンをダウンロードする)。 ダウンロードしたものを解凍すると、mysql-connector-java-x.x.xx-bin.jar というファイルがあるはずなので、これを (Linux の場合は) $JAVA_HOME/jre/lib/ext にコピーする。ここに JAR ファイルを置いておく限り、このドライバ (JAR ファイル) に対する CLASSPATH は特に設定する必要はない。 以下はデータベース中の users テーブルから、name と password という 2つのフィールドを読み出す例である (MySQLJDBCTest.java という名前で保存)。
import java.sql.*;

public class MySQLJDBCTest {

    public static void main(String[] args) {

        try {
            // ドライバをロード
            Class.forName("org.gjt.mm.mysql.Driver");

            // データベースへ接続
            String url = "jdbc:mysql:///データベース名?&user=ユーザー名&password=パスワード&"
                       + "useUnicode=true&characterEncoding=UTF-8";
            Connection con = DriverManager.getConnection(url);

            // SQL 文を生成
            Statement s = con.createStatement();
            String sql = "SELECT * FROM `users`";

            // クエリーを実行して結果セットを取得
            ResultSet rs = s.executeQuery(sql);

            // 検索された行数分ループ
            while(rs.next()){
                String name     = rs.getString("name");  // ユーザー名
                String password = rs.getString("pass");  // パスワード

                // 表示
System.out.println(name + " / " + password);
            }

            // データベースから切断
            s.close();
            con.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
コンパイル
# javac MySQLJDBCTest.java
実行
# java MySQLJDBCTest

Ant で、com.sun.tools.javac.Main is not on the classpath. というエラーへの対処

$JAVA_HOME を正しく設定していて、コンパイラが正常に動作しているのも関わらず以下のエラーに遭遇したとき、
build.xml:xxx: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
Linux の場合は、$JAVA_HOME/lib にある tools.jar を、$JAVA_HOME/jre/lib/ext にコピーしてあげればよい (試してはいないが、Windows その他でもこの方法でイケると思う)。
# cp $JAVA_HOME/lib/tools.jar $JAVA_HOME/jre/lib/ext
$JAVA_HOME を正しく設定していて、コンパイラが正常に動作しているのも関わらず以下のエラーに遭遇したとき、
build.xml:xxx: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
Linux の場合は、$JAVA_HOME/lib にある tools.jar を、$JAVA_HOME/jre/lib/ext にコピーしてあげればよい (試してはいないが、Windows その他でもこの方法でイケると思う)。
# cp $JAVA_HOME/lib/tools.jar $JAVA_HOME/jre/lib/ext

Linux に、Ant をインストールする

Ant は Java 版の make だと思ってよい。 以下の URL にアクセスして Apache Ant をゲット。 コンソールから以下のコマンドを実行
# ./build.sh
ビルドが成功すると、dist ディレクトリが作成されていて、その中に bin と lib というディレクトリができている。bin にある ant (シェルスクリプト) と、lib にあるすべての jar ファイルを以下のディレクトリにコピーする。
# cp ./bin/ant /usr/local/bin
# cp ./lib/*.* /usr/java/jdk1.5.0_06/jre/lib/ext
Ant は Java 版の make だと思ってよい。 以下の URL にアクセスして Apache Ant をゲット。 コンソールから以下のコマンドを実行
# ./build.sh
ビルドが成功すると、dist ディレクトリが作成されていて、その中に bin と lib というディレクトリができている。bin にある ant (シェルスクリプト) と、lib にあるすべての jar ファイルを以下のディレクトリにコピーする。
# cp ./bin/ant /usr/local/bin
# cp ./lib/*.* /usr/java/jdk1.5.0_06/jre/lib/ext

Linux に、phpMyAdmin 2.6.4 をインストールする方法

phpMyAdmin とは、MySQL の管理がブラウザベースで行える PHP で書かれたフロントエンド UI である。これを使うと MySQL の管理が格段に楽になる。 画面イメージはこんな感じ。 phpMyAdmin.jpg まずは Apache と PHP のインストールをする。 Apache と PHP のインストールが済んだら phpMyAdmin をダウンロードする。 ダウンロードしたファイルを解凍したら、Apache の htdocs のディレクトリにまるごとコピーする (このディレクトリは HTML のルートになるため、https://yourdomain.com/phpMyAdmin/ でアクセスできるように、ディレクトリ名も変更しておこう)。
# cp -R ./phpMyAdmin-2.7.0-pl2 /usr/local/apache2/htdocs
# mv /usr/local/apache2/htdocs/phpMyAdmin-2.7.0-pl2 /usr/local/apache2/htdocs/phpMyAdmin
ここで、phpMyAdmin 用のデータベースを作成する (MySQL が 4.1.2 以上の場合は以下のスクリプトを走らせる)。
# mysql -u root -p < create_tables_mysql_4_1_2+.sql
次に、/usr/local/apache2/htdocs/phpMyAdmin/config.default.php を config.inc.php としてコピーする (ini ではなく、inc です)。
# cd /usr/local/apache2/htdocs/phpMyAdmin
# cp config.default.php config.inc.php
phpMyAdmin から MySQL にアクセスできるように、MySQL に config.inc.php の中のユーザー名とパスワードを設定する。
<?php

$cfg
['Servers'][$i]['user']          = 'root'; ←ここに MySQL がアクセスできるユーザー名を記述 (本当は root じゃない方がいい)
$cfg['Servers'][$i]['password']      = 'your_password'; ←上のユーザーに対するパスワードを記述

?>
ブラウザから phpMyAdmin にアクセスする。
phpMyAdmin とは、MySQL の管理がブラウザベースで行える PHP で書かれたフロントエンド UI である。これを使うと MySQL の管理が格段に楽になる。 画面イメージはこんな感じ。 phpMyAdmin.jpg まずは Apache と PHP のインストールをする。 Apache と PHP のインストールが済んだら phpMyAdmin をダウンロードする。 ダウンロードしたファイルを解凍したら、Apache の htdocs のディレクトリにまるごとコピーする (このディレクトリは HTML のルートになるため、https://yourdomain.com/phpMyAdmin/ でアクセスできるように、ディレクトリ名も変更しておこう)。
# cp -R ./phpMyAdmin-2.7.0-pl2 /usr/local/apache2/htdocs
# mv /usr/local/apache2/htdocs/phpMyAdmin-2.7.0-pl2 /usr/local/apache2/htdocs/phpMyAdmin
ここで、phpMyAdmin 用のデータベースを作成する (MySQL が 4.1.2 以上の場合は以下のスクリプトを走らせる)。
# mysql -u root -p < create_tables_mysql_4_1_2+.sql
次に、/usr/local/apache2/htdocs/phpMyAdmin/config.default.php を config.inc.php としてコピーする (ini ではなく、inc です)。
# cd /usr/local/apache2/htdocs/phpMyAdmin
# cp config.default.php config.inc.php
phpMyAdmin から MySQL にアクセスできるように、MySQL に config.inc.php の中のユーザー名とパスワードを設定する。
<?php

$cfg
['Servers'][$i]['user']          = 'root'; ←ここに MySQL がアクセスできるユーザー名を記述 (本当は root じゃない方がいい)
$cfg['Servers'][$i]['password']      = 'your_password'; ←上のユーザーに対するパスワードを記述

?>
ブラウザから phpMyAdmin にアクセスする。