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
トラックバック URL: https://perltips.twinkle.cc/trackback/60