次の学期に学校の図書館を担当するプロジェクトの一環として、私は現在、ビジネス設計上の困難に直面しています。
たとえば、ホームページでは、学生が関連情報を問い合わせたときに、すべての情報をロードするために ajax を使用する予定ですが、Zhihu など、下部にドラッグして自動的にロードする多くの Web サイトには慣れていません。私のアイデアは、下部にページング オプションを設定し、各ページに 15 レコードを表示し、ajax を使用してすべての記事を読み込むことです。
SQL ステートメントはおそらく select xxx from xxx 条件制限 15 オフセット xxx
です。しかし、今はページングを行いたいので、フロントエンドを設計するためにデータベースに学生が持っているレコードの数を知る必要があります。合計レコードは、SQL ステートメント select count(*) from xxx 条件を通じてクエリできます。
. 合計レコードがフロントエンドに保存されます。
この場合、クエリを 2 つの SQL ステートメントに分割する必要がありますが、これはあまり洗練されたとは思えません。もっと洗練された実装計画はありますか?
ps: システム内には同様のページング設計を必要とする同様のビジネスが多数あるため、2 つの SQL ステートメントを使用して毎回個別にクエリを実行するのはあまりにも洗練されていません。
補充
回答者は質問を読んでいなかったようです。 1 人は SQL ステートメント 1 について答え、もう 1 人はフロントエンドについて話しました。
皆さんご回答ありがとうございます。問題は解決しました。使用できる SQL ステートメントは 2 つだけのようです ^_^
リーリー リーリー リーリー
それについては考えないでください。それは 2 つでなければなりません。
次の 1 つを持つこともできます:
select * from table
union
select 0, 0...., count(*) from table
これは正常です。 SQL を使用して問題を解決したい場合は、データベースからすべてのオブジェクトをチェックして一連の操作を実行する必要がありますが、おそらくメモリが爆発するでしょう。
考えないでください、それは 2 つあるはずです。ページングの実装では、ジェネリック クラス page<T> とその内容を定義します。詳しく説明する必要がありますか?
PageHelper を試してみてください。これは単なる SQL ステートメントであり、制限さえ必要ありません
エレガントなページングのために、ページング用のプラグインが多数あります