DAOオブジェクトとDTOオブジェクトの意味
2021年に派遣の仕事でJavaのSpring Frameworkを用いたWebアプリケーションの開発をしていた。そこで、なんとかかんとかDaoとかなんとかかんとかDtoというようなクラスが多数登場しており、初めてみる概念だったため気味が悪かった。
軽く調べても意外とこれらのDAOとDTOの意味などについての説明がなかったので備忘録として残しておく。
まず、DAOとDTOは以下の意味となる。
- DAO: Data Access Object
- DTO: Data Transfer Object
共に、データやDBに関するオブジェクト・クラスとなる。
DAOはデータアクセス用のオブジェクトとなる。具体的には、SQLのINSERT, SELECT, UPDATE, DELETE文相当の処理が可能なメソッドが定義されているオブジェクトとなる。DBへのアクセスが必要になったら使うオブジェクト・クラスと思っておけばいい。
DTOはデータ格納用のオブジェクトとなる。DAOのSELECT文相当のメソッドで取得した1レコードデータがこのDTOオブジェクトのプロパティーに格納されるイメージとなる。したがって、DAOのgetterで取得した結果や、DAOでUPDATEなどする際に使う引数に指定するオブジェクトとなる。DAOによるデータの取得結果、DAOでのデータの更新時引数と思っておくとよい。
意味が分かれば使い分けなどなんてことはないのだが、初めてみる概念で意味不明だった。これで次回からはスムーズに取り掛かれるだろう。
リンク