に情報を保存するアプリケーションがありますJList
。ただし、もちろん、アプリケーションを閉じると、すべての情報がメモリから削除されます。
再起動したときに同じデータが含まれるようにアプリを構築しようとしています。このデータをデータベースなどに保存する方法はありますか? これについてどこでどのように行えばよいですか?
に情報を保存するアプリケーションがありますJList
。ただし、もちろん、アプリケーションを閉じると、すべての情報がメモリから削除されます。
再起動したときに同じデータが含まれるようにアプリを構築しようとしています。このデータをデータベースなどに保存する方法はありますか? これについてどこでどのように行えばよいですか?
IMHOを永続化する最も簡単な方法は、ファイルです。
Properties
キーと値のマップが必要な場合は、使用してみてください。または、より複雑なオブジェクトをバインドする場合は、 Simple XML シリアライゼーション パッケージ
をお勧めします。
を使用してアプリケーションをデータベースに接続する必要がありますJDBC
。JDBC は Java データベース コネクティビティの略です。名前からわかるように、データベースに接続できます。したがって、アプリケーションをデータベースにリンクし、データを永続的に保存できます。開始するリンクは次のとおりです。そして、ここにさらに読むための何かがあります。
データが複雑ではなく、大きくない場合 (いくつかのオブジェクトのインスタンスがいくつかある場合)、シリアライゼーションを使用してリストをファイルに永続化できます。これで始められます。リストが大規模または複雑な場合は、データベースを検討してください。お気に入りの検索エンジンで JDBC を検索すると、すぐに始められます。
普通のフラットファイルが欲しいと思います。それは簡単です; すぐに行くことができます。(学習曲線は、データベースよりもはるかに短いです。) そして、それは高速です。DB にログオンする前に、1 GB のファイルを読み取ることができます。Java シリアライゼーションは少し複雑ですが、膨大な量の複雑なデータを保存するための非常に強力な方法です。(注意すべきことと、その他の役立つリンクについては、こちらを参照してください。) たとえば、大規模で複雑なゲームをセッション間で保存したい場合は、シリアル化が最適です。オブジェクト指向構造をリレーショナル構造に変換する必要はありません。
データベースを使用する:大きなファイルにデータを追加する 場合、または大きなファイルからデータの一部のみを読み取る場合。または、他のプロセスがそれを読み取って変更する場合。
DB を検討してください: 他の目的で既に使用している場合。ユーザーが別のマシンで開始し、最後のセッションからファイルを見つけるのに問題があり、データがあまり広範でない場合。または、とにかくデータが本質的にリレーショナルであり、他の誰かがそれを見ることに興味がある場合。
したがって、ユーザーが常に同じディレクトリで開始する単純なケースがある場合は、単純なファイルを読み書きするだけです。複雑で大規模な OO データが多数ある場合は、簡単ではなくてもフラット ファイルを使用してください。速度が必要になります。それ以外の場合は、DB について考えてください。