MacOSXでTomcat5/Tomcat5とMySQLの連係
Tomcatで動かすプログラムからMySQLをアクセスできるように、TomcatにMySQL用のJDBCドライバを組み込みます。TomcatでMySQLを使わない場合はこのページも飛ばして次のページへお進み下さい。
- MySQL Connector/Jのインストール
インストールというか、ほとんどファイルを一つコピーするだけですが…
とりあえず、JDBCドライバをTomcat5上の全てのWEBアプリケーションで使えるように、MySQL Connector/J をTomcatのcommon/libにコピーします。
- MySQL Connector/JのTomcat5へのコピー
ダウンロードして展開して出来たMySQLフォルダ直下のmysql-connector-java-3.0.11-stable フォルダを開くと、mysql-connector-java-3.0.11-stable-bin.jar ファイルがあります。このファイルを/usr/local/tomcat5/common/libフォルダにコピーします。
- Tomcatの再起動
JDBCドライバをコピー後にTomcatを停止/起動することにより、TomcatからMySQLにJDBC経由でアクセスすることが出来るようになります。
- 稼働確認
今回は稼働確認用のサンプルを作っている余裕はないので、申し訳ありませんがサンプルはありません。
実際にMySQLにアクセスするサーブレットを動かしてみてきちんとDBアクセスしていれば動作OKです。
なお、MySQL Connector/J 3.0.11を使った場合のJDBCクラスは
com.mysql.jdbc.Driver
DB接続文字列は
jdbc:mysql://hostname/dbname&options
となります。
ですから、コード上はたとえばこんな風な流れになるでしょう。
(ShiftJISでエンコードされているデータベースDB01上のテーブルhogehogeにユーザuser、パスワードpasswordで接続して内容を取得するとして)
Connection con=null;
Statement statement = null;
ResultSet rs = null;
try
{
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/DB01?useUnicode=true&characterEncoding=SJIS", "user", "password");
statement = con.createStatement();
rs = statement.executeQuery("SELECT * FROM hogehoge ");
...