On commence par le plus simple, le DTO (Data Transfer Object) :
C'est un objet qui défini la structure des informations à échanger, généralement, Serializable.
En gros, c'est l'objet qui circule entre les différentes couches de ton application.
Le DAO (Data Access Object) :
C'est l'objet qui contient les méthodes d'accès aux données de la base de données.
On peut utiliser JDBC ou JPA ou Hibernate (ou autre ORM) pour le faire mais c'est bien cette classe qui s'en occupe.
On y retrouve généralement les méthodes de base :
- create(...) pour créer un enregistrement en DB
- update(...) pour modifier un enregistrement existant en DB
- delete(...) pour supprimer l'enregistrement en DB
- findAll(...) pour récupérer la liste des enregistrements correspondant aux critères
- get(...) (ou find(...)) pour récupérer l'enregistrement sur sa clé primaire
Les paramètres de ces méthodes dépendent un peu de la technologie, avec JPA on serait tenté d'avoir un entity en paramètre mais on pourrait systématiquement utiliser le DTO :
- create(dto)
- upate(dto)
- delete(dto)
- List<dto> findAll(... liste des filtres de requête)
Bref, le DAO est un peu plus compliqué que le DTO
EDIT : damned, grillé

Partager