H2 DataBase Engineを使ってみよう〜作成編〜

じゃこれにS2dao経由でアクセスしてみよう。
Eclipse上で適当なプロジェクト立ち上げてlibフォルダを掘ってjarを放り込む
今回はH2を試すのが目的なのでhsqldb.jarは外しておいて、代わりにh2.jarを放り込む。
以上にライブラリパスを通す。

src、testのソースフォルダを掘って、diconを作っておく
dao.diconとj2ee.diconはサンプルのをコピる。
で、test.diconを作ってインクルードする

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.3//EN"
  "http://www.seasar.org/dtd/components23.dtd">
<components>
  <include path="dao.dicon"/>
</components>

ただ、j2ee.diconはこのままでは動かないのでhsql用のサンプルをベースに書き換える

<component name="xaDataSource"
  class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
<property name="driverClassName">
"org.h2.Driver"
</property>
<property name="URL">
"jdbc:h2:test"
</property>
<property name="user">"sa"</property>
<property name="password">""</property>
<!--<initMethod>#out.println(@org.seasar.framework.util.EclipseUtil@getProjectRoot("s2dao").getAbsolutePath())</initMethod>-->
</component>

設定が書けたらbeanを作る
redrisefirm.sample.h2.entity.Color.java

public class Color {
  public static final String TABLE = "COLOR";
  private int id;
  private String name;
(getter/setterは省略)
}

次はdaoインターフェース
redrisefirm.sample.h2.dao.ColorDao.java

public interface ColorDao {
  Class BEAN = Color.class;
  List getAllColors();
}

getALLColors用のsqlファイルを作成して
ColorDao_getAllColors.sql

  select id,name from color order by id;

test.diconにaopの適用を書いて

<component class="redrisefirm.sample.h2.dao.ColorDao" >
<aspect>dao.interceptor</aspect>
</component>

こんなところでしょうか