DAO Pattern

Status
Nicht offen für weitere Antworten.

foobar

Top Contributor
Damit ist das java.sql.ResultSet gemeint. Das DAO kapselt einfach nur den dbspezifischen Code einer Entität. Wie du das genau implementierst ist nicht festgelegt und kann auch von Projekt zu Projekt variieren. Bei mir erben alle DAOs von einem AbstractDao, der die COnnection und ein paar Hilfsmethoden zur Verfügung stellt. Alle DAOs werden über eine Factory erzeugt und lazy initialisiert.
 

L-ectron-X

Gesperrter Benutzer
Jetzt muss ich mal fragen: Was bedeutet "lazy initialisieren"?
Und welche Hilfsmethoden hast du im AbstractDAO?
 

foobar

Top Contributor
L-ectron-X hat gesagt.:
Jetzt muss ich mal fragen: Was bedeutet "lazy initialisieren"?
Das bedeutet, daß das DAO nur beim ersten Aufruf initialisiert wird genauso wie bei einem Singleton.

L-ectron-X hat gesagt.:
Und welche Hilfsmethoden hast du im AbstractDAO?
Ich benutze den JDBC-Wrapper aus dem Springframework und im AbstractDAO habe ich Zugriffsmethoden auf die Templateklassen ausserdem noch ein paar Utilitymethoden wie existsTable. Über die AbstractDAO bekommen die DAOs auch Zugriff auf die DAOFactory.
Jedes DAO z.b. UserDAO ist eine abstrakte Klasse, die alle RowMapper und alles was gebruacht wird um aus den relationalen Daten der DB Objekte zu erzeugen enthält. Im UserDAO sind dann auch die Methoden die bei allen unterstützen DBs identisch sind z.b. deleteUser oder addUser. Die dbspezifischen Methoden kommen dann in konkreten Unterklassen in meinem Fall InformixUserDAO und MysqlUserDAO.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen


Oben