[Seasar-user:1127] (質問)S2Daoでインタフェースの引数にMapを使用

hasi hasimoto
2004年 10月 21日 (木) 17:26:18 JST


こんにちは。投稿2回目の橋本です。

ひがさんに質問なのですが、表題のように S2Daoを使用する
インタフェースのメソッド引数にMapを定義しまして、
以下のように実装、テストしたところ正常に動きました。

とくに興味深いのが sql に書いたコメント部分で
ARGSアノテーション定義をしてないのに「cond.age」が
使えるところです。

この使い方ってありなのでしょうか?



====== HogeDTODaoTest.java ===============================

public void testSearchByMapTx() {

  readXlsWriteDb("HogeDTODao_searchByMapPrepare.xls");

  Map map = new HashMap();
  map.put("age", "25");

  List result = dao.searchByMap(map);

  assertEquals(1, result.size());
  assertEquals(25, ((HogeDTO)result.get(0)).getAge());
}


====== HogeDTODao.java ===================================
public interface HogeDTODao {

  static final Class BEAN = HogeDTO.class;

  List searchByMap(Map condition);

}


====== #HogeDTODao.searchByMap.sql =======================
SELECT
  *
FROM
  hoge
WHERE
  type = 'test'
  /*IF cond.age != null*/ AND age = /*cond.age*/'20' /*END*/



-- 
橋本昌典 <[E-MAIL ADDRESS DELETED]>





Seasar-user メーリングリストの案内