0

だから私はデータベースに不慣れで、ロープを学ぼうとしています。私は慣れ親しんでいる DB2 データベースを持っています。データベースで検索を行うメソッドを作成する必要があるタスクが割り当てられました。検索では、ユーザー名とユーザー ID 番号の 2 つのパラメーターが使用されます。ユーザーとユーザー ID 番号が一致しない場合、またはいずれかが null であることが判明した場合は、エラーをスローする必要があります。有効な場合、ユーザーに関する情報を吐き出し続けます。

findall() 関数またはそれに類似したものを使用するように言われました。私はオンラインで探していましたが、私が見つけたのは like または ilike を扱う例であり、私の状況でそのようなものがどのように機能するかわかりません. 私がこれに取り掛かる方法の適切な例は何ですか?

どんな助けでも大歓迎です。何か進展があれば投稿します。

注:私はgroovy/grailsを使用しています。ドメイン、コントローラー、ビューのセットアップ。

4

1 に答える 1

0

これは学校の宿題ですか?

findall() は通常、ここでは関係ないと思う正規表現のメソッドです。SQL データベースがある場合は、SQL をクエリ言語として使用する RDBMS があることを意味します。SELECT コマンドについて学ぶ必要があります。これは、最初にマニュアルを見たときに気が遠くなるように見えるかもしれませんが、実際には簡単です。次のようなものが必要です:

SELECT userfield1, userfield2,..
FROM   myusertable
WHERE  myusertable.username = 'uname' AND myusertable.userid = userid

uname と userid は検索パラメータです。セキュリティ上の理由から、この SQL クエリは PREPARED ステートメントで実行する必要があることに注意してください。

データベース ライブラリを使用してこのクエリを実行すると、分析する必要がある一連の結果が返されます。空の場合は、ユーザーが見つかりません。

編集:休止状態の使用を考慮して更新

Hibernate は、SQL に似た HQL を使用し、実際に findAll メソッドを備えています。http://grails.org/doc/latest/ref/Domain%20Classes/findAll.htmlを参照してください。

于 2013-04-04T15:58:57.797 に答える