|
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」を使う方がよいでしょう。
(first uploaded 2001/01/25 last updated 2007/05/02, URANO398)
|