1. ホーム
  2. java

[解決済み] Javaにおけるデータアクセスオブジェクト(DAO)

2022-03-23 01:44:18

質問事項

あるドキュメントを見ていたら、以下の用語が出てきました。 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サーバーを扱うためのそのインターフェイスの具体的な実装と、フラットファイルなどを扱うための実装を用意する必要があります。