このページでは,Eclipse を使って,Java 言語の JDBC プログラムを作る手順を, 見本となるプログラムと説明する. JDBC は,Java 言語でリレーショナルデータベースを操作するための手段として使う. この Web ページの要点は,素の JDBC よりも,SpringJDBC を使うほうが便利ということです.
⇒ そのために,CommodityDso という名前のクラスを定義します.
⇒ そのために,JDBC を使う.
⇒ SpringJDBC を使うと簡単です. SpringJDBC とは,JDBC 抽象化フレームワークの機能を持ったソフトウェアで,Spring 2 の構成要素になっています. このページでは,SpringJDBC の使い方に焦点を当てます.
※ SpringJDBC にこだわる必然性はありません. 素の JDBC の機能だけでも,機能的に不足はありません
そのために,CommodityDao という名前のクラスを定義します. つまり,データベースの操作は,必ず CommodityDao を経由する.SpringJDBC の流儀に従って書くのは,CommodityDao クラスだけということになる.
この Web ページに書いたプログラムは,PostgreSQL の利用で 動く.ごく簡単な設定の変更で、や MySQL の利用 や Java DB 他のリレーショナルデータベースソフトウェアでも動く.
C:\Program Files\Java\jdk1.6.0_11 のようなディレクトリがあれば,インストール済み。
インストールしていないときは,下記の Web ページを参考に,インストールを済ませておくこと.
Spring 2 インストールディレクトリを確認しておく。 このページでは,次のように書く。
設定内容について.この Web ページに掲載するプログラムは,下記の設定である. 設定が違う場合には,プログラムを書き換える(書き換えは難しくは無い).
データベース名と, PostgreSQL にログインするために使うデータベース・一般ユーザのアカウント(ユーザ名とパスワード)を決めておくこと. このページでは,次のように書く.
使用するデータベースの名前のことを,「データベース名」と呼ぶことにする. データベース名は,自由に決めてよいが,半角文字(つまり英字と英記号)を使い,スペースを含まないこと, すでに存在するデータベースを使ってもいい(つまり,既存のデータベースのデータベース名を使う)し,新しいデータベースを作ることにしてもいいです.
データベース名 testdb の権限を持ったユーザにして下さい.(そうで無いとエラーが出ます).
この Web ページの手順を試すために,新しいデータベースと,新しい一般ユーザのアカウントを作りたいという場合は, phpPgAdmin などを使ってください.
psql のようなコマンドライン・クライアントを使う場合には,次のようになります(エンコーディングについて調べきっていません.まだ不完全です.参考情報ということでご理解下さい).
CREATE ROLE testuser LOGIN PASSWORD 'hoge$#34hoge5' NOINHERIT VALID UNTIL 'infinity'; CREATE DATABASE testdb WITH ENCODING='UTF8' OWNER=testuser;
パスワードは,説明を簡単にするために hoge$#34hoge5 と書いているが,実際には,これとは違うものを,必ず適切に設定してください.
PostgreSQL の利用 を使うために,次の設定を行うことになるので,確認しておく.
PostgreSQL 用 JDBC の Java ファイルが存在するディレクトリ C:\Program Files\psqlJDBC を探すとすぐに見つかります.
データベース名と,MySQL にログインするために使うデータベース・一般ユーザのアカウント(ユーザ名とパスワード)を, このページでは,次のように書く.
使用するデータベースの名前のことを,「データベース名」と呼ぶことにする. データベース名は,自由に決めてよいが,半角文字(つまり英字と英記号)を使い,スペースを含まないこと, すでに存在するデータベースを使ってもいい(つまり,既存のデータベースのデータベース名を使う)し,新しいデータベースを作ることにしてもいいです.
データベース名 testdb の権限を持ったユーザにして下さい.(そうで無いとエラーが出ます).
この Web ページの手順を試すために,新しいデータベースと,新しい一般ユーザのアカウントを作りたいという場合は, MySQL コマンドライン・クライアントの主な機能 や MySQL GUI Tools などを使い,次のコマンドを実行してください.
※ それぞれのツールの操作法(起動法,ログインの方法など)は,MySQL コマンドライン・クライアントの主な機能 や MySQL GUI Tools の Web ページを見てください.
create database 'testdb' default character set cp932 collate cp932_japanese_ci; create user testuser identified by 'hoge$#34hoge5'; grant all on testdb.* to 'testuser';
パスワードは,説明を簡単にするために hoge$#34hoge5 と書いているが,実際には,これとは違うものを,必ず適切に設定してください.
MySQL の利用 を使うために,次の設定を行うことになるので,確認しておく.
JDBC で MySQL を使うために必要になるので、 https://dev.mysql.com/downloads/connector/ から Connector/J をダウンロードして、解凍しておく(展開(解凍)するディレクトリは何でもよい。この資料では上記のディレクトリにあるものとして説明する)。
ダウンロードの手順は, 「MySQL コネクタ (Connector) Java のダウンロード」の Web ページで説明している.
次の設定を確認しておく.
Java DB のデータベースファイルが置かれるディレクトリのことです. これは自由に決めてよいが,半角文字(つまり英字と英記号)を使い,スペースを含まないこと, データベース名と Java DB データベースディレクトリとは別ものです.混同しないこと.
なお,Java DB データベースディレクトリは,「dbdir」 のように,相対パス形式で書く場合と,「C:\hoge\dbdir」のように,絶対パス形式で書く場合があります. 今回は,相対パス形式で書く.
データベース・ロケーションとは, データベースファイルが置かれる実際のディレクトリのことです.
Java DB データベースディレクトリを,「dbdir」のような相対パス形式にする場合, データベース・ロケーションは,Eclipse インストールディレクトリである C:\Program Files\eclipse3.5\eclipse のサブディレクトリになる. (一方で,絶対パス形式の場合は,データベース・ロケーションは,Eclipse インストールディレクトリと無関係になります). このデータベース・ロケーションは, Eclipse インストールディレクトリと,Java DB データベースディレクトリ(相対)を連結したものになる.
Java DB (Derby) インストールのときに,Eclipse プラグインもインストールしますが,その中に Java DB 用 JDBC の jar ファイルが含まれています.
テスト用データベースとして,下記の SQL コマンドで,テーブル commodity が作られ,データが入っていること.
create table commodity ( id integer primary key not null, name varchar(32) not null, price integer ); insert into commodity values( 1, 'apple', 50 ); insert into commodity values( 2, 'orange', 20 ); insert into commodity values( 3, 'strawberry', 100 ); insert into commodity values( 4, 'watermelon', 150 ); insert into commodity values( 5, 'melon', 200 ); insert into commodity values( 6, 'banana', 100 ); select * from commodity;
以下,Eclipse を使う. プロジェクトの作成,クラスの定義と実行という一連の操作を,図解で説明する.
Eclipse のプロジェクト等を作る. このページでは,プロジェクト名,パッケージ名は次のように記述します. (すでに同じ名前のプロジェクトがある,といったときは,プロジェクト名を変えてください).
下記の手順で,プロジェクトを新規に作成する.
「ウインドウ (Window)」→「ビューの表示 (Show View)」→「プロジェクト・エクスプローラ (Project Explorer)」 と操作する.
「ファイル」→「新規 (New)」→「プロジェクト (Project)」
または,プロジェクト・エクスプローラ内で,右クリック→「新規 (New)」→「プロジェクト (Project)」
新規プロジェクトのウインドウが開くので, 「Java」を展開する.
展開した「Java」の下にある 「Java プロジェクト」を選び,「次へ」をクリック.
新規Javaプロジェクトのウインドウが開くので,プロジェクト名を付ける(1行目). プロジェクト名には好きにつけて良いが,全角文字は避ける.分かりやすい名前が良い.
Java 設定はデフォルトのままでよい.「終了」をクリック
もし,「関連付けられたパースペクティブを開きますか?」というウインドウが開いたら,パースペクティブを開きたいので,「はい」をクリック.
Java DB (Derby) を使うときに限り,プロジェクトへのApache Derby ネーチャーの追加 と,Java DB (Derby) サーバの開始を行う. これは, Java DB (Derby) を使うための追加的な設定です.
「Apache Derby」が候補として現れないときは, Java DB (Derby) インストール の手順に従って,インストールと設定を行う.
ポート1527 で Derby サーバが起動します.
「Derby ネットワーク・サーバの開始」が選べない状態になっているときは, すでに開始済みなので,この手順は不要.
リレーショナルデータベース・ソフトウェアとして,Java DB (Derby) 以外を使う場合は,上記は不要です.
今度は,Spring JDBC を使うための設定です.
プロジェクトへの Spring プロジェクト・ネーチャーの追加を,次の操作で行う.
「Spring ツール (Spring Tools)」が候補として現れないときは, Eclipse の SpringIDE プラグイン の手順に従って,インストールを行う.
プロジェクト名 HelloWorld の左横の 「+」をクリックして展開すると, 「Spring Elements」が増えている. (Spring プロジェクト・ネーチャーの追加ができたことが分かる).
次の2種類の jar ファイルを,プロジェクトに追加します.
Spring 2 を Eclipse から使えるようにするために, Spring 2 の jar ファイルを,外部 jar として追加します. 追加すべき jar ファイルは,次の 2 つです.
C:\Program Files\Java\spring-framework-2.5\dist\spring.jar C:\Program Files\Java\spring-framework-2.5\lib\jakarta-commons\commons-logging.jar
JDBC を使いリレーショナルデータベース・ソフトウェアと接続できるようにするため,リレーショナルデータベース・ソフトウェアに付属の JDBC ファイルを,外部 jar として追加する必要がある. (JDBC ファイルは,使用するリレーショナルデータベース・ソフトウェアごとに違う,ということ).
外部 jar ファイルを,プロジェクトに追加する手順を下記に示す.
C:\Program Files\Java\spring-framework-2.5\dist\spring.jar C:\Program Files\Java\spring-framework-2.5\lib\jakarta-commons\commons-logging.jar
上記のファイルが現れないときは,Spring 2 インストール の手順に従ってインストールを行う.
C:\Program Files\psqlJDBC\postgresql-8.3-603.jdbc4.jar を追加する.
C:\Program Files\Java\mysql-connector-java-5.1.6\mysql-connector-java-5.1.6-bin.jar を追加する.
JDBC の jar ファイルが無い,というときは,MySQL Connector Java のダウンロードの Web ページを見てください.
C:Program Files\eclipse3.5\eclipse\plugins\org.apache.derby.core_10.5.1\derby.jar を追加する.
外部 JAR システムを確認したいときは,プロジェクト・エクスプローラで,「Java リリース; src」の下の,「ライブラリー」を展開する.
Eclipse のプロジェクト・エクスプローラを使って, パッケージを作成します. パッケージ名には hoge.hoge.com のようなドメイン名を付ける習慣があることに注意してください. このページでは,作成するパッケージ名は,hoge.hoge.com と書く. (パッケージ名を変えるときは,読み替えてください).
「ウインドウ」→「ビューの表示」→「プロジェクト・エクスプローラ」 と操作する.
パッケージの作成,クラスの作成などの作業は,プロジェクト・エクスプローラで行う.
プロジェクト・エクスプローラに,プロジェクト一覧が表示されているはずです. パッケージを新規作成したいプロジェクト名 HelloWorld を右クリックして, 「新規」→「パッケージ」と操作する.
名前のところに,パッケージ名 hoge.hoge.com を設定し,「終了」をクリックする.
プロジェクト・エクスプローラにおいて, パッケージ hoge.hoge.com が増えていることを確認する.
Spring JDBC のサンプルプログラムとして,次の4つのクラスを定義します.
データ格納用クラス
テーブル Commodity の1タップル(行)を格納するためのオブジェクト
データ操作用クラス
テーブル Commodity に関わる操作(テーブル Commodity の1タップル,複数タップル等を出力する)
JDBC ドライバ名,データベース名などの定義
データ操作用クラス CommodityDao のメソッドを呼び出して結果を表示
クラス定義の手順は次の通りです. 前準備として,パッケージ hoge.hoge.com を作成済みであること.
プロジェクト・エクスプローラにおいて, クラスを定義したいパッケージ名 hoge.hoge.com を右クリック.その後, 「新規」→「クラス」と操作する.
※ 「新規」を選んだとき,「クラス」が現れないことがあります. そのときは, 「新規」→「その他」→「Java」→「クラス」と操作する.
プロジェクト・エクスプローラで, パッケージ名 hoge.hoge.comが表示されていないときは, プロジェクト名の下の 「Java リソース; src」または「src」の下を展開して下さい.
Java パッケージ名,クラス名を入力できるウインドウが開くので,設定を行う.
新規作成すべきクラスは,CommodityDso, CommodityDao, DataSourceFactory, HelloWorld の 4 つである.
プロジェクト・エクスプローラで, パッケージ名 hoge.hoge.com の左横の「+」をクリックすると, クラスファイル一覧が表示されます.
Eclipse のプロジェクト・エクスプローラで,定義したいクラスの「クラス名.java」 をダブルクリックします. すると,エディタが開きます.
下記のクラス定義をカットアンドペーストして使ってください. (パッケージ名を「hoge.hoge.com」と書いているので,パッケージ名を別の名前にしている場合には,適切に読み替えてください).
「ファイル」→「保管」または CTRL+S で保存される. 保存時にコンパイルされる
コンパイル時のエラーや警告があれば, Eclipse 内の問題・ビューに表示されるので確認する.
テーブル Commodity の1タップル(行)を格納するためのオブジェクト
CommodityDso クラスを新規作成したら,下記のプログラムをカット&ペースト.
----------------------ここから-------------------- package hoge.hoge.com; public class CommodityDso { // リレーショナルデータベースの1つのレコード(行)を,1つの Java オブジェクトに対応させる // Commodity テーブルのレコード(行)用に,CommodityDso という名前のクラスを定義する. private Integer type; private String name; private Integer price; public Integer getType() { return type; } public void setType(Integer type) { this.type = type; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getPrice() { return price; } public void setPrice(Integer price) { this.price = price; } } ----------------------ここまで----------------------
テーブル Commodity に関わる操作(テーブル Commodity の1タップル,複数タップル等を出力する)
CommodityDao クラスを新規作成したら,下記のプログラムをカット&ペースト.
----------------------ここから-------------------- package hoge.hoge.com; import java.sql.*; import java.util.List; import java.util.Map; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.jdbc.core.simple.ParameterizedRowMapper; import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; public class CommodityDao { // 使用するテーブル名 final private static String TABLE = "Commodity"; // private で SimpleJdbcTemplate オブジェクトを定義して,他のメソッドで使う,というのが決まり文句(詳しくは Spring のマニュアル) private SimpleJdbcTemplate jdbcTemplate; public void setDataSource(org.springframework.jdbc.datasource.DriverManagerDataSource dataSource) { this.jdbcTemplate = new SimpleJdbcTemplate(dataSource); } // // 更新の例(1行挿入.値の更新) // public void insertTuple(int type, String name, int price) { this.jdbcTemplate.update("insert into " + TABLE + " values ( " + type + ", '" + name + "', " + price + " )"); } public void setName(int type, String name) { this.jdbcTemplate.update("update " + TABLE + " set name = ? where type = ?", new Object[] {name, new Integer(type)}); } // // 問い合わせ // // タップル数 public int getCount() { return this.jdbcTemplate.queryForInt("select count(*) from " + TABLE); } // 選択条件の無い4つの問い合わせ // ■ 結果が,単純値のリスト // type のリスト public List<Map<String,Object>> getAllType() { return this.jdbcTemplate.queryForList("select type from " + TABLE); } // name のリスト public List<Map<String,Object>> getAllName() { return this.jdbcTemplate.queryForList("select name from " + TABLE); } // price のリスト public List<Map<String,Object>> getAllPrice() { return this.jdbcTemplate.queryForList("select type from " + TABLE); } // ■ 結果が,タップルのリスト public List<Map<String,Object>> getAllTuple() { return this.jdbcTemplate.queryForList("select * from " + TABLE); } // ■ 結果が,CommodityDso オブジェクトのリスト (つまり,結果が Java の CommodityDso オブジェクトに格納されている) public List<CommodityDso> getAllCommodity() { return this.jdbcTemplate.query( "select * from " + TABLE, new org.springframework.jdbc.core.simple.ParameterizedRowMapper<CommodityDso>() { public CommodityDso mapRow(ResultSet rs, int rowNum) throws SQLException { CommodityDso c = new CommodityDso(); c.setType(rs.getInt("type")); c.setName(rs.getString("name")); c.setPrice(rs.getInt("price")); return c; } }); } // ■ 選択条件あり.price で選択したときのタップル数 public int getCountByPrice( int price ) { return this.jdbcTemplate.queryForInt("select count(*) from " + TABLE + " where price = ?", price); } // 選択条件あり.type で選択して,CommodityDso オブジェクトを出力 // (type が主キーなので CommodityDso オブジェクトは1つになる) public CommodityDso selectNameByType( int type ) { return this.jdbcTemplate.queryForObject( "select * from " + TABLE + " where type = ?", new org.springframework.jdbc.core.simple.ParameterizedRowMapper<CommodityDso>() { public CommodityDso mapRow(ResultSet rs, int rowNum) throws SQLException { CommodityDso c = new CommodityDso(); c.setType(rs.getInt("type")); c.setName(rs.getString("name")); c.setPrice(rs.getInt("price")); return c; } }, type ); } } ----------------------ここまで----------------------
JDBC ドライバ名,データベース名などの定義を行うクラスです. DataSourceFactory.java は,PostgreSQL 用になっているので,他のリレーショ ナルデータベースシステムを使うときは,先頭部分を書き換えることを忘れないこと.
Eclipse で DataSourceFactory クラスを新規作成したら,下記のプログラムをカット&ペースト.
JDBC プログラムで,データベースシステムと接続するとき, 新しいデータベースを作るには,「;create=true」を付ける.
----------------------ここから---------------------- package hoge.hoge.com; import org.springframework.jdbc.datasource.DriverManagerDataSource; public class DataSourceFactory { // 決まり文句 (ドライバクラス) final private static String PostgresJDBCDriver = "org.postgresql.Driver"; final private static String MySQLJDBCDriver = "org.gjt.mm.mysql.Driver"; final private static String JavaDBJDBCDriver = "org.apache.derby.jdbc.EmbeddedDriver"; final private static String HiRDBDriver = "JP.co.Hitachi.soft.HiRDB.JDBC.PrdbDriver"; // 下記の変数を正しく設定する // DBNAME, DBDIR, USER, PASS, JDBCDriver, DBURL // PostgreSQL 用デフォルト // Eclipse で PostgreSQL を使いたいときは,次の手順で,WebContent\WEB-INF\lib にインポートしておく. // WebContent\WEB-INF\lib を右クリック.「一般」→「ファイルシステム」 // その後インポートすべきファイルとして,次のファイルを指定 // C:\Program Files\psqlJDBC\postgresql-8.3-603.jdbc4.jar final private static String DBNAME = "testdb"; // Database Name final private static String USER = "testuser"; // user name for DB. final private static String PASS = "hoge$#34hoge5"; // password for DB. final private static String JDBCDriver = PostgresJDBCDriver; final private static String DBURL = "jdbc:postgresql://localhost/" + DBNAME; // MySQL 用デフォルト // Eclipse で MySQL を使いたいときは,次の手順で,WebContent\WEB-INF\lib にインポートしておく. // https://dev.mysql.com/downloads/connector/ から,Connector/J をダウンロード // c:\Program Files\Java\mysql-connector-java-5.1.6\ に置く. // WebContent\WEB-INF\lib を右クリック.「一般」→「ファイルシステム」 // その後インポートすべきファイルとして,次のファイルを指定 // c:\Program Files\Java\mysql-connector-java-5.1.6\mysql-connector-java-5.1.6-bin.jar を追加 // final private static String DBNAME = "testdb"; // Database Name // final private static String USER = "testuser"; // user name for DB. // final private static String PASS = "hoge$#34hoge5"; // password for DB. // final private static String JDBCDriver = MySQLJDBCDriver; // final private static String DBURL = "jdbc:mysql://localhost/" + DBNAME; // JavaDB用デフォルト // final private static String DBNAME = "dbdir;create=true"; // Java DB の場合は,Java DB データベースディレクトリ(相対) // final private static String DBDIR = "C:\\Program Files\\eclipse3.5\\eclipse\\"; // データベースが存在するディレクトリ // DTP, DBViewer などを使ってデータベースを生成した場合は Eclipse インストールディレクトリ // ij などを使ってデータベースを生成した場合は,c:\\<ワークスペース>\\<プロジェクト名> // final private static String USER = ""; // user name for DB. Java DB (Derby) の場合は空 // final private static String PASS = ""; // password for DB. Java DB (Derby) の場合は空 // final private static String JDBCDriver = JavaDBJDBCDriver; // final private static String DBURL = "jdbc:derby:" + DBDIR + DBNAME; // HiRDB用デフォルト // Eclipse で HiRDB を使いたいときは,次の手順で,WebContent\WEB-INF\lib にインポートしておく. // WebContent\WEB-INF\lib を右クリック.「一般」→「ファイルシステム」 // その後インポートすべきファイルとして,次のファイルを指定 // C:\win32app\hitachi\hirdb_s\CLIENT\UTL\pdjdbc.jar // ユーザ名,パスワード: C:/windows/HiRDB.iniのPDUSER の値を調べておく // final private static String USER = "ユーザ名"; // user name for HiRDB. see C:/windows/HiRDB.ini // final private static String PASS = "パスワード"; // password for HiRDB. see C:/windows/HiRDB.ini // final private static String JDBCDriver = HiRDBDriver; // final private static String HiRDBServerName = "hitachi-664320D"; // HiRDB サーバのコンピュータ名 // final private static String DBURL = "jdbc:hitachi:PrdbDrive://DBID=22200,DBHOST=" + HiRDBServerName + ",ENCODELANG=MS932"; // 'DBID=22200' is in "conf\pdsys"; DriverManagerDataSource connect() { org.springframework.jdbc.datasource.DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName((String)JDBCDriver); dataSource.setUrl(DBURL); dataSource.setUsername(USER); dataSource.setPassword(PASS); return dataSource; } } ----------------------ここまで----------------------
データ操作用クラス CommodityDao のメソッドを呼び出して結果を表示
HelloWorld クラスを新規新規作成したら,下記のプログラムをカット&ペースト.
----------------------ここから-------------------- package hoge.hoge.com; import java.sql.*; import org.springframework.jdbc.core.simple.SimpleJdbcTemplate; import org.springframework.jdbc.datasource.DriverManagerDataSource; public class HelloWorld { public static void main(String[] args) { DataSourceFactory dataSourceFactory = new DataSourceFactory(); DriverManagerDataSource dataSource = dataSourceFactory.connect(); CommodityDao e = new CommodityDao(); e.setDataSource(dataSource); // テーブル定義 // 「Commodity テーブルが無い」というようなエラーメッセージが出た場合の回避策として, // 「e.doExecuteSample();」を1度実行して,テーブルを定義する. // e.doExecuteSample(); // 問い合わせ実行 System.out.println(" getCount() = " + e.getCount() ); System.out.println(" getAllType() = " + e.getAllType() ); System.out.println(" getAllName() = " + e.getAllName() ); System.out.println(" getAllPrice() = " + e.getAllPrice() ); System.out.println(" getAllTuple() = " + e.getAllTuple() ); System.out.println(" getAllCommodity() = " + e.getAllCommodity() ); // 更新と問い合わせ実行 e.insertTuple(7, "No Name 1", 1000); e.insertTuple(8, "No Name 2", 1010); e.setName(7, "New Name 1"); System.out.println(" getCount() = " + e.getCount() ); System.out.println(" getAllName() = " + e.getAllName() ); System.out.println(" getAllType() = " + e.getAllType() ); System.out.println(" getAllName() = " + e.getAllName() ); System.out.println(" getAllPrice() = " + e.getAllPrice() ); System.out.println(" getAllTuple() = " + e.getAllTuple() ); System.out.println(" getAllCommodity() = " + e.getAllCommodity() ); System.out.println(" getCountByPrice() = " + e.getCountByPrice(100) ); // 問い合わせ結果を CommodityDsoに格納するもの CommodityDso c = e.selectNameByType(1); System.out.println(" selectNameByType(1) = " + c + ", type = " + c.getType() + ", name = " + c.getName() + ", price = " + c.getPrice()); } } ----------------------ここまで----------------------
プロジェクト・エクスプローラで,パッケージ名の下にクラスファイル一覧が出ているので,実行したいクラスの「クラス名.java」 (つまり,HelloWorld.java) を右クリック.
もしくはAlt+Shift+Xを押し,J を押すという操作でもよい.
2008/10/01 16:11:21 org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName 情報: Loaded JDBC driver: org.postgresql.Driver getCount() = 6 getAllType() = [{type=1}, {type=2}, {type=3}, {type=4}, {type=5}, {type=6}] getAllName() = [{name=apple}, {name=orange}, {name=strawberry}, {name=watermelon}, {name=melon}, {name=banana}] getAllPrice() = [{type=1}, {type=2}, {type=3}, {type=4}, {type=5}, {type=6}] getAllTuple() = [{type=1, name=apple, price=50}, {type=2, name=orange, price=20}, {type=3, name=strawberry, price=100}, {type=4, name=watermelon, price=150}, {type=5, name=melon, price=200}, {type=6, name=banana, price=100}] getAllCommodity() = [hoge.hoge.com.CommodityDso@e48e1b, hoge.hoge.com.CommodityDso@12dacd1, hoge.hoge.com.CommodityDso@1ad086a, hoge.hoge.com.CommodityDso@10385c1, hoge.hoge.com.CommodityDso@42719c, hoge.hoge.com.CommodityDso@30c221] getCount() = 8 getAllName() = [{name=apple}, {name=orange}, {name=strawberry}, {name=watermelon}, {name=melon}, {name=banana}, {name=No Name 2}, {name=New Name 1}] getAllType() = [{type=1}, {type=2}, {type=3}, {type=4}, {type=5}, {type=6}, {type=8}, {type=7}] getAllName() = [{name=apple}, {name=orange}, {name=strawberry}, {name=watermelon}, {name=melon}, {name=banana}, {name=No Name 2}, {name=New Name 1}] getAllPrice() = [{type=1}, {type=2}, {type=3}, {type=4}, {type=5}, {type=6}, {type=8}, {type=7}] getAllTuple() = [{type=1, name=apple, price=50}, {type=2, name=orange, price=20}, {type=3, name=strawberry, price=100}, {type=4, name=watermelon, price=150}, {type=5, name=melon, price=200}, {type=6, name=banana, price=100}, {type=8, name=No Name 2, price=1010}, {type=7, name=New Name 1, price=1000}] getAllCommodity() = [hoge.hoge.com.CommodityDso@9931f5, hoge.hoge.com.CommodityDso@19ee1ac, hoge.hoge.com.CommodityDso@1f1fba0, hoge.hoge.com.CommodityDso@1befab0, hoge.hoge.com.CommodityDso@13c5982, hoge.hoge.com.CommodityDso@1186fab, hoge.hoge.com.CommodityDso@14b7453, hoge.hoge.com.CommodityDso@c21495] getCountByPrice() = 2 selectNameByType(1) = hoge.hoge.com.CommodityDso@a0dcd9, type = 1, name = apple, price = 50
プログラムは動作するが,データベースと接続できない場合, USER, PASS の行などを確かめる.
(参考)
Eclipse で データベースの中身を確認したいときは, Eclipse のデータツール・プラットホーム を使って,簡単にできる.