[Seasar-user:3638] Re: S2Pagerによる範囲条件による検索

T.Hattori [E-MAIL ADDRESS DELETED]
2006年 5月 17日 (水) 11:43:09 JST


hattori です。

ももたろ さまのコメントの通り、Daoのプロパティを外部SQLの
SQLコメントに指定し問題なく実現できました。
設定ミスで外部SQLファイルが参照されず、自動生成SQL
が使われていたのが原因でした。
今後とも宜しくお願い致します。


On Tue, 16 May 2006 21:16:37 +0900
"T.Hattori" <[E-MAIL ADDRESS DELETED]> wrote:

> hattoriです。
> 
> 範囲条件による検索を試しているのですが、検索条件Dtoに定義するフィールド
> に検索対象テーブルのフィールド以外を定義してSQLパラメータとして
> 使用した場合無視されてしまいます。
> 
> 検索条件Dto
> public class HogePagerCondition extends DefaultPagerCondition {
>     private String field1; /*tableのfield1*/
>     private String field2; /*tableのfield2*/
>     private String field3; /*tableのfield3*/
>     private String nonField1;
>     private String nonField2;
>> 
> Dao
> public interface HogeDao {
>     public List findByPagerCondition(HogePagerCondition dto);
> 
> 外部SQL:HogeDao_findByPagerCondition.sql
> SELECT * FROM ・・・
> WHERE field1 = /*dto.feild1*/
> /*IF dto.field2 != null */ AND field1 = /*dto.field1*/'1' /*END*/ 
>> 1)これはOK
> /*IF dto.field3 != null */ AND field2 < /*dto.field2*/'1' /*END*/
>> 2)これは'<'が強制的に'='に置き換えられた
> 
> /*IF dto.nonField1 != null */ AND field4 <= 1000 /*END*/
>> 3)これはSQLの条件自体生成されない
> 
> 考えていたことはフォームで受け取るvalueをそのまま検索条件としたい
> 場合は1)、範囲指定(selectのvalue="1" 0〜1000, "2" 1001〜2000)
> で検索したい場合3)のような方法がとれないかなということでした。
> そもそも使い方がおかしいのでしょうか。
> 
> 
> On Tue, 16 May 2006 19:19:39 +0900
> "T.Hattori" <[E-MAIL ADDRESS DELETED]> wrote:
> 
> > ももたろさま。hattoriです。
> > 
> > 早速のアドバイスありがとうございます。
> > いろいろ方法がありそうですね。
> > 早速いろいろ試してみたいと思います。
> > 
> > On Tue, 16 May 2006 18:43:43 +0900
> > Momotaro Nishiumi <[E-MAIL ADDRESS DELETED]> wrote:
> > 
> > > ももたろです。
> > > 
> > > T.Hattoriさま wrote...
> > > > S2Dao、S2Pagerを使って、ページングを実現したいと考えています。
> > > > そこで質問なのですが、あるWebページから検索条件を入力させるとして、
> > > > テーブルのもつフィールドの範囲(たとえば日付、金額で〜以上、〜以下など)
> > > > などを検索条件に含める場合は、外部SQLファイルで条件を記述するとの考
> > > > え方でいいのでしょうか
> > > それでもよいでしょうし、QUERYアノテーションやSQLアノテーションを使う
> > > 方法もあるかと思います。
> > > 
> > > > その場合、検索Dtoの値を条件コメントのパラメータとして使えるのでしょうか。
> > > 使えます。
> > >  /*dto.hoge*/
> > > みたいな感じで指定できます。
> > > 
> > > 〜 〜  /\  〜 〜  ももたろ(西海 桃太郎)   〜 〜  
> > >  〜 \((  )/ 〜   mailto:[E-MAIL ADDRESS DELETED] 〜 〜 
> > >   〜 〜 〜 〜 〜 〜 http://www.momo-lab.net/  〜 〜
> > > 
> > > _______________________________________________
> > > Seasar-user mailing list
> > > [E-MAIL ADDRESS DELETED]
> > > https://www.seasar.org/mailman/listinfo/seasar-user
> > 
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://www.seasar.org/mailman/listinfo/seasar-user
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://www.seasar.org/mailman/listinfo/seasar-user





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