JDBCとは、JAVAとデータべ一スとのコネクションのことであり、JDBC APIからJDBCドライバを介して各べンダから提供されている様々なDBMS(Orace,PostgreSQL,MySQL,DB2など)にアクセスすることができる。JDBCドライバには様々な形態があり、また、ドライバ自体DBMSのべンダや個人など様々なところから配布されていたりするが、JDBCドライバはDBMSごとの違いを吸収してくれるように作られている(はずである)。よってプログラマはJDBC APIのみを気にしてプログラムを書けばよい。(のかな?)
データベースサーバ:VineLinux2.1.5(FTP版)と付属のPostgreSQL7.0.3
クライアント:VineLinux2.0(? Mac版) + Tomcat3.2.3
JDBCドライバはここから。(
しいしせねっとPostgreSQL)
その2(自宅)。
(旧)TurboLinux7 WorkStation(FTP版)と、PostgreSQL7.1.3をソースコードからJDBCドライバが使用できるようにコンパイルしたもの + Tomcat3.2.3
(新)Vine Linux 2.5と付属のPostgreSQLパッケージ + Tomcat3.2.4
JDBCドライバの読み込み
↓
接続
↓
SQL文の実行
↓
切断
DDL文
そのための表をデータべースで定義する。このフォームサンプルでは、
入力フィールド | name属性 | 値 |
---|---|---|
新規か更新の選択 | select0 | 1 or 2 |
概念の選択 | button0 | "Concept" or "method" or "class" |
対応URL | name0 | 一行の文字列 |
注釈 | textarea0 | 長くてもOKな文字列 |
となっている。select0に関してはアクションの選択にすぎないからデータベースには登録しない。それ以外のフィールドに関してname属性をそのまま列名とした表を以下で定義する。
DBとの接続
以下のコマンドでデータベースサーバ上のPostgreSQLに接続する。
# psql -U ユーザ名 -h サーバのアドレス データべース名 password: ***** (サーバ上でpostmasterが起動していること。) |
表の作成
ここでは可変長文字列型のbutton0とname0とtextarea0という名前のフィールドを持つt99xxxxx_tbl1という名の表を作成する。varcharは( )の中の数字を最大とする可変長文字列である。textは無制限。
CREATE TABLE t99xxxxx_tbl1 ( button0 varchar(8), name0 varchar(255), textarea0 text ); |
データ作成
ここでのINSERT文の使い方は見たまんま。t99xxxxx_tbl1表に先ほど定義した順番に列の値を入れていくという意味。
INSERT INTO t99xxxxx_tbl1 VALUES( 'method', 'http://www.hogehoge.com', 'Very useful!!' ); INSERT INTO t99xxxxx_tbl1 VALUES( 'class', 'http://www.hogehoge2.com', 'Cool!!' ); |
データの閲覧
SELECT * FROM t99xxxxx_tbl1; |
これはt99xxxxx_tbl1という表の抽出レコードについて全ての列の値を表示しなさいという意味。*の部分で表示する列を指定することもできる。抽出条件を特に書いていないので全レコードが対象となる。実行結果は以下のようになる。
button0 | name0 | textarea0 ---------+--------------------------+--------------- method | http://www.hogehoge.com | Very useful!! class | http://www.hogehoge2.com | Cool!! (2 rows) |
終了
PostgreSQLとの接続を切断。
\q |