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