[解決済み] Javaにおけるデータアクセスオブジェクト(DAO)
質問事項
あるドキュメントを見ていたら、以下の用語が出てきました。
DAO
. データアクセスオブジェクトということがわかりました。どなたか、これが何なのか説明していただけませんか?
データソースは、さまざまな種類のソースからデータにアクセスするためのインターフェースの一種であることは分かっているのですが、この小さな研究の途中で、データソースやデータソースオブジェクトという概念にぶつかり、頭の中がぐちゃぐちゃになってしまったんです。
本当に知りたいのは
DAO
は、プログラム的にはどこで使われているのでしょうか?どのように使われるのでしょうか?このコンセプトを基本的なことから説明しているページへのリンクがあれば、それもありがたいです。
どのように解決するのですか?
データアクセスオブジェクトは基本的に、基盤となるデータベースやその他の永続ストレージへのアクセスを提供するオブジェクトまたはインターフェイスです。
その定義は以下から。 http://en.wikipedia.org/wiki/Data_access_object
シーケンス図はこちらもご確認ください。 http://www.oracle.com/technetwork/java/dataaccessobject-138824.html
簡単な例で理解できるかもしれませんね。
例えば、従業員を表すエンティティがあるとします。
public class Employee {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
従業員のエンティティは、対応する
Employee
テーブルを作成します。
従業員の実体を操作するために必要なデータベース操作を扱うシンプルなDAOインターフェイスは、次のようになります。
interface EmployeeDAO {
List<Employee> findAll();
List<Employee> findById();
List<Employee> findByName();
boolean insertEmployee(Employee employee);
boolean updateEmployee(Employee employee);
boolean deleteEmployee(Employee employee);
}
次に、SQLサーバーを扱うためのそのインターフェイスの具体的な実装と、フラットファイルなどを扱うための実装を用意する必要があります。
関連
-
VMの初期化中にエラーが発生しました java/lang/NoClassDefFoundError: java/lang/Object
-
HttpClientがGZIP形式でない場合の対処法
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
java.util.NoSuchElementException 原因解析と解決方法
-
スタイルが読み込まれず、ブラウザコンソールでエラーが報告される。リソースはスタイルシートとして解釈されますが、MIMEタイプtext/htmlで転送されます。
-
Java Exceptionが発生しました エラー解決
-
SpringBootApplication を型解決できない。
-
javaの模造品QQ WeChatのチャットルーム
-
スキャナは、タイプに解決することはできません最もルーキー初心者の質問
-
プロローグでのコンテンツは禁止されています
-
Methodのinvokeメソッド実装のJavaリフレクション
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
javax.net.ssl.SSLException: 読み取りエラー: ssl=0xdeae5100: システムコール中の I/O エラー、接続 res