2012-02-27 21 views
0

私はSwingアプリケーションにデータベーステーブルを提示したいと思います。
非常に単純なテーブルでは、データベースに1つまたはいくつかのテーブルで構成されるデータを表示する必要があります。GUI/DBの更新可能なテーブル(CRUD)を実装する良い方法

ユーザーは、テーブルを追加、削除、更新してから[保存]を押すことができます。
(必須ではありません、それはちょうど彼が値を変更するたびに節約することができる)

  • 最も効率的な方法でそれを行うための推奨方法は何ですか?
  • 最初にお勧めするフレームワークは何ですか?
+1

*「最も効率的な方法でこれを行うには、どのような方法が推奨されていますか?」*まあ、いつも「あなたのためにインターネット上でランダムに見知らぬ人に尋ねる」 「最高」/「最も効率的」という言葉で)、しかし、私はほとんどそれが推奨されているとは言いません。特に、そうではありません。 –

+1

私は同意しません。特に経験豊富なプログラマーではないことを認識していないことを実装するためのベストプラクティスが多数ある場合は特にそうです。あなたが聞いたことがないフレームワークがあるかもしれません。答えは、常にフレームワーク名、デザインパターン、または独自の実装のコピーとペーストにすることができます。何故なの? – niklas

+0

さて、古いプログラマでさえ新しいトリックを時々学ぶことができます。私は私の元の質問の背後にある私の考えを説明します。私は通常、完全なサークルを行い、観測可能な有界リストと休止状態を使用し、ユーザーのイベントに対して自分のアクションをディスパッチします。大量のコードしかし、私は努力とコードの半分でこれを行う多くのRAD言語に精通しています。ちょうどここに来て、Javaのそれへのより迅速な方法があるかどうかを学びましょう。ここでのフォーラムでは、新しいフレームワークを考える手がかりが与えられることもあります。 – Jeb

答えて

4

通常JTableが表形式でデータベースのデータをレンダリングするために使用されている、あなたはどのようにhere見ることができます。

GUIとデータベースアクセスロジックを別々のクラスに分割することもお勧めします。また、イベント・ディスパッチャー・スレッド(EDT)ではないスレッドでデータベース操作を実行することは、アプリケーションのUIをハングアップさせる可能性があるため、良い考えです。

データベースアクセスに関しては、HibernateなどのORMフレームワークを使用できます。これにより、使用しているデータベースに関係なく、データベースに接続して情報を取得することができます。また、使用しているデータベースエンジンに合わせてSQLクエリを書き直さなくても、いつでも基礎データベースを変更できます。

JFramesを使用すると、データを追加または削除できるフォームを作成できます。

+0

ああ。だから基本的には、私はそれをほとんどゼロから書く必要があると言っています。私は通常あなたが言ったことを正確に行います。私のjtableを観測可能なリストにバインドし、hibernateまたはsqlのいずれかでDBを更新します。このためにフレームワークはまだ用意されていませんか? – Jeb

+0

@ user450602:私の知る限り、これを行うためのフレームワークはありません。その主な理由は、その問題が自明ではないと言わざるを得ないと思うし、多くの人がその努力に値するとは考えていない。しかし私は間違っているかもしれません。 – npinti

+1

私は違います。 JTableを観測可能なリストにバインドし、正しい列をバインドし、デファクト名を設定し、イベントをモジュールにディスパッチし、CRUDコマンド用のdbにバインドすると、ジェネリックコードが多数生成されます。私はいくつかのRAD FWを探していました。例えば、JTableとDB Tableを受け入れ、接続全体を生成します。他の環境にも存在します。私はその全部のJ2SE実装を探していました。 – Jeb