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)

Field Summary
private  DatabaseConnection myConnection
          Die JDBC-Connection
static java.lang.String vcid
          Version der Klasse
 
Constructor Summary
DatabaseRetriever()
           
DatabaseRetriever(DatabaseConnection aConnection)
           
 
Method Summary
 DatabaseConnection getConnection()
          Diese Methode liefert den Wert des Attributes Connection.
 java.util.List retrieve(java.lang.String aSQLQueryString, java.lang.String aType)
           
 java.util.List retrieve(java.lang.String aSQLQueryString, java.lang.String aType, I_DatabaseBinder aBinder)
          Die Methode führt die SQL Anweisung aus und liefert das Resultat zurück.
 I_DatabaseObject retrieveOne(java.lang.String aSQLQueryString)
          Die Methode führt die Query aus und liefert die erste Zeile des Query-Result zurück.
 void setConnection(DatabaseConnection aConnection)
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

vcid

public static java.lang.String vcid
Version der Klasse

myConnection

private DatabaseConnection myConnection
Die JDBC-Connection
Constructor Detail

DatabaseRetriever

public DatabaseRetriever()

DatabaseRetriever

public DatabaseRetriever(DatabaseConnection aConnection)
Method Detail

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 ~