# Java > Gnral Java > Persistance des donnes >  A quoi sert un DAO exactement ?

## L'aigle de Carthage

Bonjour,

J'ai lu que le pattern DAO permet de centraliser les mcanismes de mapping et de prvenir un changement ventuel de systme de stockage de donnes... Honntement, j'ai pas bien saisie la notion de prvenir un changement ventuel de systme de stockage de donnes, parce que je me demande c'est quoi la relation qui existe entre les classes DAO et le changement du SGBD? si je vais changer en terme de requtes, pourquoi ne pas le faire directement dans la mthode qui existe dans la classe POJO?  ::roll:: 

Qu'est ce que je dois changer dans la DAO si je change ma base? en quoi il est bnfique le DAO?

Pouvouez-vous m'expliquer par des simples exemples?

Merci pour votre aide!  ::ccool::

----------


## paissad

Bonjour,
un POJO (JavaBean) devrait normalement reprsenter uniquement une table de ta base de donnes.
Si tu as une bases de donnes quelconque avec une table 'personnes' par exemple, ... alors tu devrais avoir une classe Java 'Personne' qui reprsente cette table et uniquement cela (dans l'idal).
Ceci dit, maintenant, il faut bien arriver  Crer, Lire, Mettre  jour, ou Supprimer des donnes de cette table 'personnes' ... autrement dit, il faut bien arriver  crer, lire, mettre  jour ou supprimer un POJO 'Personne' qui reprsente un champ de cette base de donnes. Ces oprations de modifications de la bases de donnes sont classiquement appeles DAO (Data Access Object), c'est  dire les classes permettant d'effectuer les changements qu'on veut dans une table reprsente par son POJO.
Ensuite, il faut savoir que ces classes et mthodes d'accs et de modifications de la base de donnes pourraient directement tre crits dans les POJO, mais dans ce cas, tu ne respecterais pas la sparation des couches dans le modle MVC pour ne citer que celui-ci.

Pour mieux comprendre, essaie de lire ce tutoriel http://cyrille-herby.developpez.com/...c-pattern-dao/ afin de comprendre mieux le pattern DAO et son utilit.

Cordialement,

----------

