MySQLのJDBCドライバを使ってみる

 MySQLのJDBCドライバとしてはMM MySQL JDBC DriverやMySQL Connector/Jがありますが、 ドライバの名前が違う以外、後者は前者の上位互換になっています。 MM MySQL JDBC DriverやMySQL Connector/Jの入手と設定については こちらにメモしています。

SET CLASSPATH=.;C:\Wintools\mysql\mysql.jar
このようにmysql.jarにCLASSPATHを通しておきます。

/*
 * MyJdbcTester.java
 * MM MySQL JDBC Driverのサンプル
 * 2001/01/21
 */
import java.sql.*;
import java.io.*;

public class MyJdbcTester {
  public static void main (String args [])
       throws SQLException, IOException {
    // JDBC driverをロードします。

    DriverManager.registerDriver(new com.mysql.jdbc.Driver());

    // 接続情報をセットします。
    String user     = "urano";
    String password = "urano399";
    String database = "udb";

    /* ポート番号がデフォルトの3306の場合は省略できます */

    Connection conn =
      DriverManager.getConnection ("jdbc:mysql://localhost:3306/" +
           database + "?useUnicode=true&characterEncoding=SJIS",
           user, password);

    System.out.println ("connected.");

    // SQL文(DML文)を作ります。
    Statement stmt = conn.createStatement ();

    // SELECT文の場合はexecuteQuery()を実行します。
    ResultSet rset = stmt.executeQuery("SELECT NAME, PRICE FROM MENU_MASTER");

    while (rset.next ())
      System.out.println(rset.getString (1) + "\t値段:" + rset.getString(2));

    System.out.println ("Your JDBC installation is correct.");
    // 結果セットを解放
    rset.close();
    // SQL文を解放
    stmt.close();
    // データベースから切断して、完了。
    conn.close();
  }
}
// end.

 コードそのものはOracleなど他のRDBMSの場合と同じですが、 JavaのUnicodeからMySQLサーバーの文字コードに変換する設定をしています。 下の例はMySQLサーバーの文字コードがシフトJISの場合です。 日本語EUCの場合はcharacterEncodingに 'EUC_JP' をセットします。
      DriverManager.getConnection ("jdbc:mysql://localhost:3306/" +
           database + "?useUnicode=true&characterEncoding=SJIS",
           user, password);
なおWebや書籍でJDBCドライバのクラスとして 「org.gjt.mm.mysql.Driver」と記載されている場所も多いですが、 これは MySQL Connector/J (com.mysql.jdbc.Driver)の前身となったドライバのクラスです。 現在では「com.mysql.jdbc.Driver」を使う方がよいでしょう。

JDBC and Swing Top

(first uploaded 2001/01/25 last updated 2007/05/02, URANO398)

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル