2011-12-20 5 views
0

私は通常データファイルにシリアライズするだけで、余分なレポートを実行したい自分のやり方でやり遂げる道を切り開く拡張性。 MySQLデータベースが登場したので、私はJava POS(Point of Sale)システムをそれに適応させています。Javaを使用してMySqlデータベースのレコード間を反復する方法

私は前にこれをやったし、ここに私のアプローチは、テーブルのいずれかのために一言で言えばだった、お客様が言う:それからのArrayListに主キーを格納するための

Iセットアップループセットアップから行くためのフォーム1つのレコードは、PKに基づいて実行中の次のSQL照会に記録されます。クエリは、fname、lname、アドレスなどをプルダウンし、画面上のフィールドに入力します。

[次へ]をクリックするたびに、SQLクエリを実行するのがちょっとしたと思っていました。だから私はこの問題に対する別のアプローチを探しています。どんな助けもありがとう!私は正確なコードや何かを必要としません、ちょうどいくつかの概念がうまくいくでしょう

ありがとう!

答えて

2

私はあなたが自分自身を示唆ソリューションは非常に良好ではないと言うだろうだけでなく、あなたはボタンが押されるたびに、SQLクエリを実行するために、だけでなく、あなたはおそらくソートされていない主キー、を反復処理しているので、任意の意味のある順序で...

あなたが欲しいのは、あなたのArrayListやそれに類するもののような種類のキャッシュとして保存することができます。これはSQLで非常に簡単に行うことができます。ユーザーが「次へ」を押して結果を反復処理を開始すると、バックグラウンドでさらにレコードをロードすることができます。使いやすさを保つために

キーは、ユーザーの前にいくつかのレコードをロードすることで、実際の待ち時間の小さなを維持するためにそれらを要求するが、

+0

ありがとう、私はこれらの行にも考えていただけで、私の頭の中でアイデアをバウンスしています。私は一度に何百ものレコードをロードすることにあなたと一緒にいます。ユーザがレコード76/100を選択してから次の100をロードするように、これまでのところ進んでいたら、クライアントにそれをソートしてほしい、あなたの権利は、おそらくPKによって引っ張って、最も意味をなさないでしょう。少なくとも名前で引っ張ったり、もっと役に立つ – JKK

0

データベースのインデックス作成をご覧ください。 http://www.informit.com/articles/article.aspx?p=377652

+0

....あなたも一度にデータベース全体をロードする必要はありません念頭に置いてありがとう、それはlnameでインデックスされています – JKK

0

JPAを組み込みHibernateプロバイダで使用します。一方または両方に慣れていない場合は、NetBeansをダウンロードしてください。このチュートリアルでは、非常に使いやすいチュートリアルが用意されています。オブジェクトのリストを管理することは新しいJPAでは簡単ではなく、あなたは自分自身を再発明することはできません。

+0

リンクを見て、素晴らしいもの!このアプリケーションでは、あらかじめ作成されたコードを使用するのではなく、データベースと直接やり取りする経験を手にしたいと思っています。私はいくつかのSQLの経験を持っているので、クエリ、インデックス、挿入などを書いて、私はそれを把握しますが、私は提案に感謝! – JKK

0

ここでの重要な概念はページネーションです。

ページサイズを10に設定したとします。これはデータベースから特定の順序で10レコードを選択するため、クエリの末尾にorder by句とlimit句を含める必要があります。この結果セットを使用して、ユーザーが[前へ]/[次へ]ボタンで移動している間にフォームを表示します。

ユーザーがページからナビゲートすると、他のページを取得します。

https://www.google.com/search?q=java+sql+pagination

+0

素晴らしい、ありがとう、私もこれをチェックします – JKK

関連する問題