データストアの検索 (4/5)
作成:2013-12-21 11:30
更新:2013-12-21 11:30
更新:2013-12-21 11:30
■FilterCriterion関連のメソッド
では、FilterCriterionとして利用できるインスタンスを返すメソッドにはどのようなものがあるのでしょうか。以下に整理しておきましょう。
equal――引数に渡した値と等しいことを設定するものです。
notEqual――引数の値と等しくないことを設定します。
greaterThan, greaterthanOrEqual――引数よりも大きい、あるいは等しいか大きいことを設定します。
lessThan, lessThanOrEqual――引数よりも小さい、あるいは等しいか小さいことを設定します。
isNotNull――nullではないことを設定します。
contains――テキストで引数の値を含んでいることを設定します。
startsWith, endsWith――テキストで引数で指定した値で始まる、あるいは終わることを設定します。
in――引数に複数個の値やコレクションを用意し、その中に値が含まれていることを設定します。
これらをfilterメソッドの引数内で利用することで、特定の条件にあったエンティティだけに絞り込むことができます。
このfilterメソッドはModelQueryインスタンスを返します。そう、filter自身がModelQueryクラスのインスタンスメソッドですから、メソッドチェーンを利用することでいくつものfilterを連結することもできるのです。
例えば、検索部分をこの様にすれば、mynameが入力テキストと同じで、なおかつmailがnullでないものが検索されます。
equal――引数に渡した値と等しいことを設定するものです。
notEqual――引数の値と等しくないことを設定します。
greaterThan, greaterthanOrEqual――引数よりも大きい、あるいは等しいか大きいことを設定します。
lessThan, lessThanOrEqual――引数よりも小さい、あるいは等しいか小さいことを設定します。
isNotNull――nullではないことを設定します。
contains――テキストで引数の値を含んでいることを設定します。
startsWith, endsWith――テキストで引数で指定した値で始まる、あるいは終わることを設定します。
in――引数に複数個の値やコレクションを用意し、その中に値が含まれていることを設定します。
これらをfilterメソッドの引数内で利用することで、特定の条件にあったエンティティだけに絞り込むことができます。
■複数のfilterを利用する
このfilterメソッドはModelQueryインスタンスを返します。そう、filter自身がModelQueryクラスのインスタンスメソッドですから、メソッドチェーンを利用することでいくつものfilterを連結することもできるのです。
List<MyData> list = Datastore.query(MyDataMeta.get())
.filter(MyDataMeta.get().myname.equal(s))
.filter(MyDataMeta.get().mail.isNotNull()).asList();
例えば、検索部分をこの様にすれば、mynameが入力テキストと同じで、なおかつmailがnullでないものが検索されます。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ