[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 メーリングリストの案内