de.ix.jspTutorial.database
Class DatabaseRetriever
java.lang.Object
|
+--de.ix.jspTutorial.database.DatabaseRetriever
- public class DatabaseRetriever
- extends java.lang.Object
Diese Klasse bildet eine kleine Kapsel um das Absetzen einer
beliebige SQL-Query. Die Klasse verwendet dazu eine von aussen zu
spezifizieren Connection. Auf der Connection werden mittels
Statement die SQL-Queries abgesetzt. Das so erhaltetne ResultSet
wird in ResultObjects verpackt.
Nachfolgend ein Code-Fragment, welches die Anwendung des Retrievers
zeigt:
DatabaseRetriever retriever = new DatabaseRetriever();
DatabaseConnection theConnection = new DatabaseConnection(
"jdbc.idbDriver",
"jdbc:idb:/jspTutorial_II/source/jspTutorial-app/WEB-INF/config/idb/jspTutorial.prp"
theConnection.connect("jsp", "tutorial")
retriever.setConnection(theConnection) ;
try {
theConnection = retriever.getConnection()
theConnection.begin();
ReferenceVector objects = retriever.retrieve("select * from Pizza");
for (Enumeration e=objects.elements(); e.hasMoreElements();) {
I_DatabaseObject object = (I_DatabaseObject) e.nextElement();
System.out.println(object);
}
theConnection.commit();
} catch (Exception e) {
theConnection.rollback();
e.printStackTrace();
}
finally {
theConnection.disconnect() ;
}
Wie an dem Fragment erkennbar, ist für jeden Store
ein Retriever hinterlegt.
Zuerst wird sich daher dieser Retriever besorgt, ein
Transaktionsrahmen aufgebaut , sowie die Query ausgeführt.
- Version:
- $Id:$
- Author:
- Peter Rossbach (pr@webapp.de)
Methods inherited from class java.lang.Object |
,
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
toString,
wait,
wait,
wait |
vcid
public static java.lang.String vcid
- Version der Klasse
myConnection
private DatabaseConnection myConnection
- Die JDBC-Connection
DatabaseRetriever
public DatabaseRetriever()
DatabaseRetriever
public DatabaseRetriever(DatabaseConnection aConnection)
getConnection
public DatabaseConnection getConnection()
- Diese Methode liefert den Wert des Attributes Connection.
- Returns:
- Wert der Variablen myConnection.
setConnection
public void setConnection(DatabaseConnection aConnection)
retrieve
public java.util.List retrieve(java.lang.String aSQLQueryString,
java.lang.String aType)
throws java.sql.SQLException
retrieve
public java.util.List retrieve(java.lang.String aSQLQueryString,
java.lang.String aType,
I_DatabaseBinder aBinder)
throws java.sql.SQLException
- Die Methode führt die SQL Anweisung aus und liefert das Resultat
zurück.
- Parameters:
aSQLQueryString
- - Returns:
- List der Objekte
retrieveOne
public I_DatabaseObject retrieveOne(java.lang.String aSQLQueryString)
throws java.sql.SQLException
- Die Methode führt die Query aus und liefert die erste Zeile des
Query-Result zurück. Der Rest des Resultset geht dabei
verloren. Der großer Vorteil dieser Methode gegenüber fetch ist,
dass sofort ein Objekt vom Typ I_DatabaseObject zurückkommt sowie
die Bestimmung dieses Objektes wesentlich schneller geht.
- Parameters:
aSQLQueryString
- - Returns:
- Objekt vom Typ I_DatabaseObject
~ Das iX JSP Tutorial III - © 2000 by Peter Roßbach ~