Unterschied zwischen DAO und DTO - Beispiel?

Status
Nicht offen für weitere Antworten.

Rumborak

Aktives Mitglied
Hallo Forum!

Entschuldigt bitte meine vielleicht etwas blöde Frage: Was ist eigentlich jetzt der Unterschied zwischen einem Data Access Object und einem Data Transfer Object? Könnte mir dazu bitte jemand ein simples Code-Beispiel geben - wäre echt nett :)

Hab schon bei Google gesucht (j2ee unterschied zwischen dao und dto) - ergibt 12 Treffer, die mir aber nicht so recht weiter geholfen haben....

In den Büchern, wo ich nachgeschlagen habe, wird jeweils nur das DAO-Pattern erklärt.

Danke schonmal!
 
G

Guest

Gast
Wie die Namen schon sagen

"Data Access Object" = Datenzugriffsobjekt
"Data Transfer Object" = Datenübertragungsobjekt

Übersetzung ist zwar gaga und nicht sinnvoll, aber damit ist es erklärt.
DAOs sind Klassen zum Zugriff auf Daten und DTOs sind die Daten selbst.

z.B.
Code:
public interface IPersonDAO extends IGenericDAO
{
   PersonDTO getPerson(Long personId) throws DAOException;
   List<PersonDTO> getPersonList() throws DAOException;
   ...
}
 

Rumborak

Aktives Mitglied
Jo, danke mal!

So eine ähnliche Definition hatte ich auch schonmal irgendwo gelesen. Mir ist nur noch nicht ganz klar, wie die beiden zusammen spielen. Wenn ich also z. B. eine DB habe, wo Kunden drin sind. Ein Kunde meldet sich ans System an und gibt sein Login nebst Passwort ein....

Also eine Klasse für den Kunden:

Code:
public class Kunde
{
	private String login;
	private String pass;

	public String getLogin()
	{
		return login;
	}

	public void setLogin( String login )
	{
		this.login = login;
	}

	public String getPass()
	{
		return pass;
	}

	public void setPass( String pass )
	{
		this.pass = pass;
	}

	...Name, Strasse, usw.
}

Wo kommt jetzt das DAO ins Spiel und wie arbeitet das mit einem DTO zusammen, um die Daten vom GUI in die Datenbank und umgekehrt zu transferieren?

Wie würde das Design-Pattern mäßig so richtig gut aussehen?
 

Rumborak

Aktives Mitglied
Könnte mir da vielleicht jemand mit einem ganz einfachen Beispiel weiter helfen? Wo stehen denn jetzt die SQL-Kommandos, wie wird das Kunden-Objekt befüllt und wie funktioniert der Datenfluß insgesamt? Also von der GUI zur Datenbank und umgekehrt - evtl. gibts da ja irgendwo eine gute Seite im Netz. Ich bin nur bisher noch nicht fündig geworden......
 
G

Gast

Gast
deine klasse kunde ist deine DTO
wenn du eine kunde hast (d.h du weisst seine pass und login)
du willst prüffen ob er in deine DB enthalten ist
also du brauchst eine methode di in db rein guckt und zb eine boolean wert zurück gibt
dafür schreibst du eine klasse die diese methode enthält di verbindung zum datenbak aufbaut und denn vergleich durchführt
diese klasse ist deine DAO
beipiel code
public
 
G

Gast

Gast
public class KundeDAO{
public boolean istDrin(Kunde k){
/*hier kommen die attributte um deine statment (zb mysqlabfrage an die daten bank angenommen man hat einen )*/
if (k.login ==fromdb.login && k.pass==fromdb.pass)return true
else return false
*/
diese ist ein beispiel was nur eine methode enthält aber im wirklichkeit kapselst du da mehr methoden nach deiner bedarf
was augeklammert ist da müssen zeilen programmiert was dir
1.die verbindung zur datenbank macht
2.deine sql statment formulierung



}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Unterschied zwischen JSP & Servlet gegenüber REST mittels JAX-RS Allgemeines EE 1
J Unterschied zwischen HttpSession und Stateful Session Bean Allgemeines EE 3
S Unterschied zwischen Tomcat und Application Server? Allgemeines EE 3
M Unterschied zwischen Servlet und Bean/EJB Allgemeines EE 2
V Unterschied zwischen Applicationserver und Servletcontainer Allgemeines EE 4
A Unterschied CDI und managedBeans Allgemeines EE 1
R Unterschied Instantiierung einer normalen und einer EJB-Klasse Allgemeines EE 1
F Unterschied Design Pattern / Architektur Pattern? Allgemeines EE 4
P Unterschied Session Scope / Stateful Session Bean Allgemeines EE 6
G Unterschied MVC - 3tier-Architektur Allgemeines EE 7
B unterschied servlet und bean Allgemeines EE 2
E JSP, JSF und Servlet - wo ist der Unterschied? Allgemeines EE 8
D Unterschied zw. synchronen/asynchronen web services Allgemeines EE 1
F Unterschied EJB und JavaBeans? Allgemeines EE 9
T Zwei Buttons in derselben FORM rufen unterschied. Servlets a Allgemeines EE 10
pkm Wie navigiert man zwischen JSP-Seiten; ist ein POST möglich? Allgemeines EE 2
S JSP Zwischen zwei Formularen Daten austauschen Allgemeines EE 0
R Abhängigkeiten zwischen EJB-JARs Allgemeines EE 0
R RMI Zugriff zwischen zwei WAR Projekten Allgemeines EE 1
M Mapping zwischen JPA-Entitäten und Datentypen von Webservices Allgemeines EE 1
G Kommunikation zwischen den Schichtenmodellen Allgemeines EE 3
byte Trennung zwischen Test- und Produktiv-Umgebung Allgemeines EE 7
G Vergleich zwischen Java Spirng und Ruby on Rails Allgemeines EE 9
N Objekte zwischen zwei Application Contexts austauschen Allgemeines EE 19
M Unterschiede zwischen den EE-Servern? Allgemeines EE 6
M TagLib und Referenzen zwischen Klassen Allgemeines EE 4
M Kommunikation zwischen zwei Servlets Allgemeines EE 5
M Attribute setzen/lesen zwischen JSP & Servlet nicht mögl Allgemeines EE 4
A Kommunikation zwischen Java Servlet und Bean Allgemeines EE 1
N WS-Security Beispiel mit JBOSS/Wildfly gesucht Allgemeines EE 2
N Glassfish 4 JDBC-Realm Authentifizierung Beispiel gesucht Allgemeines EE 7
T Größeres Java EE Beispiel Projekt Allgemeines EE 4
reibi URL-rewriting - Simples Beispiel gesucht Allgemeines EE 8
M Formularfehler JSP-Beispiel Allgemeines EE 3
N Axis2 lauffähiges Beispiel erstellen Allgemeines EE 3

Ähnliche Java Themen

Neue Themen


Oben