S2Daoの環境設定
S2Daoの環境設定
それでは、実際にS2Daoを使ってみましょう。まず、S2Daoの入手と設定から説明します。
ダウンロード
SeasarプロジェクトのWebページ(http://www.seasar.org/)より、S2(Seasar2)およびS2Daoをダウンロードします。ここでは、執筆時点の最新版のS2.1.11およびS2DaoV1.0.18をダウンロードしました。
ダウンロードしたファイルを適当なディレクトリに展開します。これらは、データベースサービスのように別途起動するタイプのツールではなく、JARファイルをアプリケーション内にコピー(あるいは直接外部のクラスパスを指定)して利用します。
Eclipseプロジェクトの作成
プロジェクトは通常のJavaプロジェクトとして作成します。ここではmys2daoという名前で、プロジェクト・レイアウトは「別のソースおよび出力フォルダ」として作成しました。
必要なファイルのコピー
プロジェクト以下に、次のようなファイルを作成していきます。

図3:必要なファイルの準備
まずJARファイルをコピーします。プロジェクト直下にlibという名前のフォルダを作成し、クラスパスに必要なJARファイルをコピーします。コピーするJARファイルは以下のものです。
- seasar2/lib以下のJARファイル
- s2dao/libのs2-dao-xxx.jar
その他に、JDBCドライバもコピーします。ここではHSQLDBを利用しますので、 seasar2/libにあるものをそのまま利用します(JDBCドライバはDBとバージョンが違うと動作しない場合があるので、正しくは、JDBCドラ イバは別にコピーした方がよい)。そして、コピーしたJARファイルをEclipseプロジェクトのクラスパスに通します。
最後に設定ファイルをコピーします。s2dao/srcにある、以下のリストのファイルをsrcフォルダにコピーします。これらは自前で全部書いてもよいのですが、ここではサンプルのファイルを利用していきます。
- dao.dicon
- j2ee.dicon
- log4j.properties
以上で環境の準備は完了です。
S2Daoの利用
S2Daoを利用する環境が整いましたので、DAO、DTOおよびクライアントの作成を行いましょう。
DBテーブル
ここでは、データベースは第7回で作成したものをそのまま利用します。一応スキーマを示しておくと、以下のような簡単なテーブルです。
利用するDBテーブルのスキーマ
create table video (
title varchar(100) primary key,
price integer
);
DTOの作成
このVIDEOテーブルに対応するDTOを作成します。ソースコードは以下のリストのようになります。このクラスは、title、priceという名前のプロパティー(ゲッター、セッター)を持つJavaBeansです。
ここでTABLEという名前のstaticフィールドがありますが、これはこのクラスがVIDEOテーブルに対応することを示しています(定数で情 報を埋め込んでいるので「定数アノテーション」と呼ばれます)。なお、この場合、DTOクラス名とテーブル名が同じなので省略できます。 toString()はデバッグ用です。
リスト3:Video.java
package hoge;
public class Video {
public static final String TABLE = "VIDEO";
private String title;
private int price;
public String toString(){
return super.toString()
+ ",title=" + title
+ ",price=" + price
;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
![]()