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