org.jdbcpersistence
Class JDBCQuery

java.lang.Object
  extended by org.jdbcpersistence.JDBCQuery

public class JDBCQuery
extends java.lang.Object

JDBCQuery object encapsulates a Data Manipulation Language SQL statement. It is used to run query or update an underlying database.
When the query is a select statement the results can be returned ad List of Maps or a List of beans. This is controlled by the resultType argument passed into the query.
When resultType argument to the query is


JDBCQuery will use fine-tuned to a particular database SQL statements when they are supplied. They can be supplied via registering statement with JDBCQuery using addFlavour method.

Author:
Alex Rojkov Date: 21-Aug-2005 Time: 9:19:05 PM
See Also:
JDBCConnection.executeQuery(JDBCQuery,Object[],java.util.List), JDBCConnection.executeUpdate(JDBCQuery,Object[]), JDBCPersistence

Constructor Summary
JDBCQuery(java.lang.String query)
          Constructor that accepts a default SQL statement and no resultType.
JDBCQuery(java.lang.String query, java.lang.Class resultType, java.lang.Class jdbcQueryReaderClass)
          Constructor that accepts a default SQL statement and a resultType.
 
Method Summary
 void addFlavour(java.lang.String flavour, java.lang.String query)
          Adds a SQL statement fine-tuned to a particular database.
 java.lang.Class getJdbcResultSetReader()
           
 java.lang.String getQuery(java.lang.String flavour)
          Returns a SQL statement fine-tuned to a particular database.
 java.lang.Class getResultType()
          Returns Class associated with this JDBCQuery
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JDBCQuery

public JDBCQuery(java.lang.String query)
Constructor that accepts a default SQL statement and no resultType. Typically this constructor would be used when the instance of JDBCQuery being created will be used to update database

Parameters:
query - SQL statement

JDBCQuery

public JDBCQuery(java.lang.String query,
                 java.lang.Class resultType,
                 java.lang.Class jdbcQueryReaderClass)
Constructor that accepts a default SQL statement and a resultType. This constructor should be used when creating a select type of query. The parameter resultType denotes what result the query will return.

Parameters:
query - SQL statement
resultType - regitered persistent class or java.utils.Map
Method Detail

addFlavour

public void addFlavour(java.lang.String flavour,
                       java.lang.String query)
Adds a SQL statement fine-tuned to a particular database.

Parameters:
flavour - the name of the database. This name should equals to a lowercase string returned by java.sql.DatabaseMetaData.getDatabaseProductName() method.
query - SQL statement
See Also:
JDBCPersistence

getQuery

public java.lang.String getQuery(java.lang.String flavour)
Returns a SQL statement fine-tuned to a particular database. If no fine-tuned SQL statement where supplied to this JDBCQuery object, then default SQL statement is returned

Parameters:
flavour -
Returns:
SQL statement

getResultType

public java.lang.Class getResultType()
Returns Class associated with this JDBCQuery

Returns:
Class

getJdbcResultSetReader

public java.lang.Class getJdbcResultSetReader()
Returns:
Class