Das Data Access Object ist im Grunde ein Objekt oder eine Schnittstelle, die den Zugriff auf eine zugrunde liegende Datenbank oder einen anderen Persistenzspeicher ermöglicht.
Diese Definition stammt von: http://en.wikipedia.org/wiki/Data_access_object
Sieh dir auch das Sequenzdiagramm hier an: http://www.oracle.com/technetwork/java/dataaccessobject-138824.html
Vielleicht kann dir ein einfaches Beispiel helfen, das Konzept zu verstehen:
Angenommen, wir haben eine Entität, die einen Mitarbeiter repräsentiert:
public class Employee {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Die Mitarbeiter-Entitäten werden in einer entsprechenden Employee
-Tabelle in einer Datenbank persistiert. Eine einfache DAO-Schnittstelle zur Bearbeitung der für die Manipulation einer Mitarbeiter-Entität erforderlichen Datenbankoperationen sieht aus wie:
interface EmployeeDAO {
List findAll();
List findById();
List findByName();
boolean insertEmployee(Employee employee);
boolean updateEmployee(Employee employee);
boolean deleteEmployee(Employee employee);
}
Als Nächstes müssen wir eine konkrete Implementierung für diese Schnittstelle bereitstellen, um mit SQL-Server und einer anderen für den Umgang mit Dateien usw. umzugehen.