追加お題
さて、S2Strutsで表示までできた。次はどうしようかと悩んでいるとid:yuki_neko_nyanから追加お題。「パイロットを選ぶと搭乗機の一覧が取得できるようにしよう」
まず、パイロットのテーブルはないので登場人物のテーブルを作ることにする。んで、必要な要素は何かを考える。まぁ、ID、名前、性別、所属ってところでしょうか。
んじゃそのためのCREATE TABLE文を作りましょ。
CREATE TABLE PERSON( ID NUMERIC(3) NOT NULL PRIMARY KEY, NAME VARCHAR(50) NOT NULL, SEX CHAR(1) NOT NULL, BELONG_TO_CODE NUMERIC(2) NOT NULL );
ま、こんなもんでしょう。テーブルが出来たらDAOとエンティティを作成するべし。
ますはエンティティクラス。↓redrisefirm.seasar.s2dao.entity.PersonEntity.java
public class PersonEntity implements Serializable { public static final String TABLE = "PERSON"; private int id; private String name = null; private String sex = null; private int belongToCode; ・・・(getter/setterは省略)・・・ }
次にDAOインターフェース。↓redrisefirm.seasar.s2dao.dao.PersonDao.java
public interface PersonDao { public Class BEAN = PersonEntity.class; public int insert(PersonEntity personEntity); public int update(PersonEntity personEntity); public int delete(PersonEntity personEntity); public PersonEntity getPersonEntity(int id); public static final String getPersonEntity_ARGS = "id"; public List getAllPerson(); public static final String getAllPerson_QUERY = "order by id, belong_to_code, name"; }
dao.diconにPersonDaoを登録して、
<component name="PersonDao" class="redrisefirm.seasar.s2dao.dao.PersonDao"> <aspect>interceptor</aspect> </component>
テストデータを作成し、簡単にPersonDaoのテストを書く。内容は他のDAOのテストと同様なので省略。