0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DTOとDAOってどういう関係?

Posted at

JavaにおけるDTO(Data Transfer Object)とDAO(Data Access Object)の関係は以下の通りです。

DTOは、データベースの1行(レコード)に相当するデータを保持するためのシンプルなオブジェクトです。主にゲッター・セッターのみを持ち、ビジネスロジックは含みません。データの受け渡し専用で、アプリケーション層やデータベース層など異なる層間でデータを転送する役割を担います。

DAOは、データベースへのアクセスや操作(検索・登録・更新・削除など)を担当するクラスです。DAOはSQLの実行やO/Rマッピングのロジックを持ち、DTOを使ってデータベースとやり取りします。

関係性のまとめ

DAOはデータベースからデータを取得し、そのデータをDTOに詰めてアプリケーションに渡します。

逆に、アプリケーションから受け取ったDTOのデータを使って、DAOがデータベースに保存や更新を行います。

DTOはDAOのメソッドの引数や戻り値として利用され、DAOとアプリケーション層の橋渡し役となります。

役割 DTO DAO
主な目的 データの転送 データベースアクセスの抽象化
機能 データの保持と転送 データベース操作(CRUD等)
ビジネスロジック 含まない データアクセスに関するロジック
使用場所 層間のデータ受け渡し データアクセス層

このように、DAOがデータベース操作を担当し、その入出力データをDTOが担うという関係になっています。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?