JDBC


JDBC

javaからデータベースにアクセスするには、 JDBC (Java Database Connectivity)が必要です。 JDBCを使う場合は、Javaはそれぞれのデータベースのために用意された ドライバクラスをロードしなくてはいけません。 このドライバクラスはJavaの標準のクラスライブラリには 含まれていないので、自分で入手して、実行時のクラスパスに 置いておかなくてはいけません。

津田塾大学の計算センターの環境ではMySQL-5.1系列にJavaで 通信するためのjarファイルは X:\usrdata\nitta\tomcat\mysql-connector-java-5.1.44-bin.jar として置かれています。cygwinの中でシェルスクリプトを

.  x:/usrdata/nitta/tomcat/setpath.sh
としてシェルに読み込むと、CLASSPATHに設定されるようになっています。

[注意]サーブレットとして動作するときにも参照できるようにするためには、 ${CATALINA_HOME}/webapps/アプリケーション名/WEB-INF/lib/ の下にjarファイルを置いておく必要があります。

JavaプログラムでJDBCを使う手順は次の通りです。

  1. データベースサーバへの接続(Connection)を取り出す。 データベースの指定には"jdbc:"で始まる特別なURLを指定する。
  2. StatementオブジェクトまたはPreparedStatement文を生成する。
  3. SQLの文をサーバに送り、実行する。
  4. SQL文の実行結果がResultSetオブジェクトとして返されるので、 結果を順番に取り出して処理をする。

データベースに1組のデータを記憶させるプログラムは次のようになります。

Statementオブジェクトは、SQL文の特別な文字を自分でエスケープ しなくてはいけないのですが、PreparedStatementオブジェクトを 使うとその必要がないので指定が簡単になる場合があります。

InsertDB.java
授業で配布するプリントを参照して下さい。
InsertDB.javaの実行例
$ javac InsertDB.java
$ java InsertDB

データベースからデータを取り出すプログラムは次のようになります。 (津田塾大学計算センターのWindowsでこの SelectDB.class を実行する場合は、 文字化けを避けるためにcygterm を対話環境として使って下さい。)

SelectDB.java
授業で配布するプリントを参照して下さい。
SelectDB.javaの実行例
$ javac SelectDB.java
$ java SelectDB
1:2011-08-12:あいさつ[山田太郎]
こんにちは