net.sf.jasperreports.engine.query

## Class JRJdbcQueryExecuter

- java.lang.Object
- - net.sf.jasperreports.engine.query.JRAbstractQueryExecuter
  - - net.sf.jasperreports.engine.query.JRJdbcQueryExecuter

- All Implemented Interfaces:
    JRQueryExecuter

      public class JRJdbcQueryExecuter
      extends JRAbstractQueryExecuter

  JDBC query executer for SQL queries.

  This query executer implementation offers built-in support for SQL queries.
  Version:
    $Id: JRJdbcQueryExecuter.java 6296 2013-06-20 09:44:24Z lucianc $
  Author:
    Teodor Danciu (teodord@users.sourceforge.net)

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter

      `JRAbstractQueryExecuter.QueryParameter, JRAbstractQueryExecuter.QueryParameterEntry, JRAbstractQueryExecuter.QueryParameterVisitor, JRAbstractQueryExecuter.ValuedQueryParameter, JRAbstractQueryExecuter.VisitExceptionWrapper`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static java.lang.String` | `CACHED_ROWSET_CLASS`
    `static java.lang.String` | `CANONICAL_LANGUAGE`
    `static java.lang.String` | `CLAUSE_ID_BETWEEN`
    `static java.lang.String` | `CLAUSE_ID_BETWEEN_CLOSED`
    `static java.lang.String` | `CLAUSE_ID_BETWEEN_LEFT_CLOSED`
    `static java.lang.String` | `CLAUSE_ID_BETWEEN_RIGHT_CLOSED`
    `static java.lang.String` | `CLAUSE_ID_EQUAL`
    `static java.lang.String` | `CLAUSE_ID_GREATER`
    `static java.lang.String` | `CLAUSE_ID_GREATER_OR_EQUAL`
    `static java.lang.String` | `CLAUSE_ID_IN`
    `static java.lang.String` | `CLAUSE_ID_LESS`
    `static java.lang.String` | `CLAUSE_ID_LESS_OR_EQUAL`
    `static java.lang.String` | `CLAUSE_ID_NOTEQUAL`
    `static java.lang.String` | `CLAUSE_ID_NOTIN`
    `protected static java.lang.String` | `CLOSE_CURSORS_AT_COMMIT`
    `protected static java.lang.String` | `CONCUR_READ_ONLY`
    `protected static java.lang.String` | `CONCUR_UPDATABLE`
    `protected java.sql.Connection` | `connection`
    `protected static java.lang.String` | `HOLD_CURSORS_OVER_COMMIT`
    `protected java.sql.ResultSet` | `resultSet`
    `protected java.sql.PreparedStatement` | `statement` The statement used to fire the query.
    `protected static java.lang.String` | `TYPE_FORWARD_ONLY`
    `protected static java.lang.String` | `TYPE_SCROLL_INSENSITIVE`
    `protected static java.lang.String` | `TYPE_SCROLL_SENSITIVE`

    - ### Fields inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter

      `CLAUSE_POSITION_ID, clauseFunctions, dataset`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JRJdbcQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, java.util.Map<java.lang.String,? extends JRValueParameter> parameters)`
    `JRJdbcQueryExecuter(JRDataset dataset, java.util.Map<java.lang.String,? extends JRValueParameter> parameters)` Deprecated. Replaced by `JRJdbcQueryExecuter(JasperReportsContext, JRDataset, Map)`.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `cancelQuery()` Cancels the query if it's currently running.
    `void` | `close()` Closes resources kept open during the data source iteration.
    `JRDataSource` | `createDatasource()` Executes the query and creates a `JRDataSource` out of the result.
    `protected void` | `createStatement()`
    `protected java.lang.String` | `getCanonicalQueryLanguage()` Returns a canonical query language for this query executer implementation.
    `protected static int` | `getConcurrency(java.lang.String concurrency)`
    `protected static int` | `getHoldability(java.lang.String holdability, java.sql.Connection connection)`
    `protected java.util.Calendar` | `getParameterCalendar(JRPropertiesHolder properties)`
    `protected java.lang.String` | `getParameterReplacement(java.lang.String parameterName)` Returns the replacement text for a query parameter.
    `java.sql.ResultSet` | `getResultSet()`
    `protected static int` | `getResultSetType(java.lang.String type)`
    `protected void` | `registerFunctions()` Registers built-in `clause functions`.
    `protected void` | `setDate(int parameterIndex, java.lang.Object parameterValue, JRPropertiesHolder properties)`
    `protected void` | `setStatementMultiParameter(int parameterIndex, java.lang.String parameterName, int valueIndex, java.lang.Object value, JRPropertiesHolder properties)`
    `protected int` | `setStatementMultiParameters(int parameterIndex, java.lang.String parameterName, boolean ignoreNulls)`
    `protected void` | `setStatementParameter(int parameterIndex, java.lang.Class<?> parameterType, java.lang.Object parameterValue, JRPropertiesHolder properties)`
    `protected void` | `setStatementParameter(int parameterIndex, java.lang.String parameterName)`
    `protected void` | `setTime(int parameterIndex, java.lang.Object parameterValue, JRPropertiesHolder properties)`
    `protected void` | `setTimestamp(int parameterIndex, java.lang.Object parameterValue, JRPropertiesHolder properties)`
    `protected void` | `setTimeZone()`

    - ### Methods inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter

      `addQueryMultiParameters, addQueryMultiParameters, addQueryParameter, addQueryParameter, appendClauseChunk, appendParameterChunk, appendParameterClauseChunk, appendQueryChunk, appendTextChunk, applyClause, checkParameter, findExtensionQueryFunction, getBooleanParameter, getBooleanParameter, getBooleanParameterOrProperty, getBooleanParameterOrProperty, getCollectedParameterNames, getCollectedParameters, getJasperReportsContext, getParameter, getParameterValue, getParameterValue, getPropertiesUtil, getQueryString, getStringParameter, getStringParameterOrProperty, getValueParameter, getValueParameter, parameterHasValue, parseQuery, registerClauseFunction, resolveFunction, unregisterClauseFunction, visitQueryParameters`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### CANONICAL_LANGUAGE

          public static final java.lang.String CANONICAL_LANGUAGE

      See Also:
        Constant Field Values

    - #### CLAUSE_ID_IN

          public static final java.lang.String CLAUSE_ID_IN

      See Also:
        Constant Field Values

    - #### CLAUSE_ID_NOTIN

          public static final java.lang.String CLAUSE_ID_NOTIN

      See Also:
        Constant Field Values

    - #### CLAUSE_ID_EQUAL

          public static final java.lang.String CLAUSE_ID_EQUAL

      See Also:
        Constant Field Values

    - #### CLAUSE_ID_NOTEQUAL

          public static final java.lang.String CLAUSE_ID_NOTEQUAL

      See Also:
        Constant Field Values

    - #### CLAUSE_ID_LESS

          public static final java.lang.String CLAUSE_ID_LESS

      See Also:
        Constant Field Values

    - #### CLAUSE_ID_GREATER

          public static final java.lang.String CLAUSE_ID_GREATER

      See Also:
        Constant Field Values

    - #### CLAUSE_ID_LESS_OR_EQUAL

          public static final java.lang.String CLAUSE_ID_LESS_OR_EQUAL

      See Also:
        Constant Field Values

    - #### CLAUSE_ID_GREATER_OR_EQUAL

          public static final java.lang.String CLAUSE_ID_GREATER_OR_EQUAL

      See Also:
        Constant Field Values

    - #### CLAUSE_ID_BETWEEN

          public static final java.lang.String CLAUSE_ID_BETWEEN

      See Also:
        Constant Field Values

    - #### CLAUSE_ID_BETWEEN_CLOSED

          public static final java.lang.String CLAUSE_ID_BETWEEN_CLOSED

      See Also:
        Constant Field Values

    - #### CLAUSE_ID_BETWEEN_LEFT_CLOSED

          public static final java.lang.String CLAUSE_ID_BETWEEN_LEFT_CLOSED

      See Also:
        Constant Field Values

    - #### CLAUSE_ID_BETWEEN_RIGHT_CLOSED

          public static final java.lang.String CLAUSE_ID_BETWEEN_RIGHT_CLOSED

      See Also:
        Constant Field Values

    - #### TYPE_FORWARD_ONLY

          protected static final java.lang.String TYPE_FORWARD_ONLY

      See Also:
        Constant Field Values

    - #### TYPE_SCROLL_INSENSITIVE

          protected static final java.lang.String TYPE_SCROLL_INSENSITIVE

      See Also:
        Constant Field Values

    - #### TYPE_SCROLL_SENSITIVE

          protected static final java.lang.String TYPE_SCROLL_SENSITIVE

      See Also:
        Constant Field Values

    - #### CONCUR_READ_ONLY

          protected static final java.lang.String CONCUR_READ_ONLY

      See Also:
        Constant Field Values

    - #### CONCUR_UPDATABLE

          protected static final java.lang.String CONCUR_UPDATABLE

      See Also:
        Constant Field Values

    - #### HOLD_CURSORS_OVER_COMMIT

          protected static final java.lang.String HOLD_CURSORS_OVER_COMMIT

      See Also:
        Constant Field Values

    - #### CLOSE_CURSORS_AT_COMMIT

          protected static final java.lang.String CLOSE_CURSORS_AT_COMMIT

      See Also:
        Constant Field Values

    - #### CACHED_ROWSET_CLASS

          protected static final java.lang.String CACHED_ROWSET_CLASS

      See Also:
        Constant Field Values

    - #### connection

          protected java.sql.Connection connection

    - #### statement

          protected java.sql.PreparedStatement statement

      The statement used to fire the query.

    - #### resultSet

          protected java.sql.ResultSet resultSet

  - ### Constructor Detail

    - #### JRJdbcQueryExecuter

          public JRJdbcQueryExecuter(JasperReportsContext jasperReportsContext,
                             JRDataset dataset,
                             java.util.Map<java.lang.String,? extends JRValueParameter> parameters)

    - #### JRJdbcQueryExecuter

          public JRJdbcQueryExecuter(JRDataset dataset,
                             java.util.Map<java.lang.String,? extends JRValueParameter> parameters)

      Deprecated. Replaced by `JRJdbcQueryExecuter(JasperReportsContext, JRDataset, Map)`.

  - ### Method Detail

    - #### registerFunctions

          protected void registerFunctions()

      Registers built-in `clause functions`.
      See Also:
        `registerFunctions()`, `JRAbstractQueryExecuter.appendClauseChunk(StringBuffer, String[])`

    - #### getCanonicalQueryLanguage

          protected java.lang.String getCanonicalQueryLanguage()

      Description copied from class: `JRAbstractQueryExecuter`
      Returns a canonical query language for this query executer implementation.

      The canonical language is used to retrieve extensions for the query executer.

      The default implementation returns the runtime query language used in the dataset, but query executer implementations should override this method and return a fixed language.

      Overrides:
        `getCanonicalQueryLanguage` in class `JRAbstractQueryExecuter`
      Returns:
        a canonical query language

    - #### setTimeZone

          protected void setTimeZone()

    - #### getParameterReplacement

          protected java.lang.String getParameterReplacement(java.lang.String parameterName)

      Description copied from class: `JRAbstractQueryExecuter`
      Returns the replacement text for a query parameter.
      Specified by:
        `getParameterReplacement` in class `JRAbstractQueryExecuter`
      Parameters:
        `parameterName` - the parameter name
      Returns:
        the replacement text
      See Also:
        `JRQueryChunk.TYPE_PARAMETER`

    - #### createDatasource

          public JRDataSource createDatasource()
                                        throws JRException

      Description copied from interface: `JRQueryExecuter`
      Executes the query and creates a `JRDataSource` out of the result.
      Returns:
        a `JRDataSource` wrapping the query execution result.
      Throws:
        `JRException`

    - #### createStatement

          protected void createStatement()
                                  throws JRException

      Throws:
        `JRException`

    - #### getResultSet

          public java.sql.ResultSet getResultSet()

    - #### setStatementParameter

          protected void setStatementParameter(int parameterIndex,
                                   java.lang.String parameterName)
                                        throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setStatementMultiParameters

          protected int setStatementMultiParameters(int parameterIndex,
                                        java.lang.String parameterName,
                                        boolean ignoreNulls)
                                             throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setStatementMultiParameter

          protected void setStatementMultiParameter(int parameterIndex,
                                        java.lang.String parameterName,
                                        int valueIndex,
                                        java.lang.Object value,
                                        JRPropertiesHolder properties)
                                             throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setStatementParameter

          protected void setStatementParameter(int parameterIndex,
                                   java.lang.Class<?> parameterType,
                                   java.lang.Object parameterValue,
                                   JRPropertiesHolder properties)
                                        throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setTimestamp

          protected void setTimestamp(int parameterIndex,
                          java.lang.Object parameterValue,
                          JRPropertiesHolder properties)
                               throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setTime

          protected void setTime(int parameterIndex,
                     java.lang.Object parameterValue,
                     JRPropertiesHolder properties)
                          throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setDate

          protected void setDate(int parameterIndex,
                     java.lang.Object parameterValue,
                     JRPropertiesHolder properties)
                          throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getParameterCalendar

          protected java.util.Calendar getParameterCalendar(JRPropertiesHolder properties)

    - #### close

          public void close()

      Description copied from interface: `JRQueryExecuter`
      Closes resources kept open during the data source iteration.

      This method is called after the report is filled or the dataset is iterated. If a resource is not needed after the data source has been created, it should be released at the end of `createDatasource`.

    - #### cancelQuery

          public boolean cancelQuery()
                              throws JRException

      Description copied from interface: `JRQueryExecuter`
      Cancels the query if it's currently running.

      This method will be called from a different thread if the client decides to cancel the filling process.
      Returns:
        `true` if and only if the query was running and it has been canceled
      Throws:
        `JRException`

    - #### getResultSetType

          protected static int getResultSetType(java.lang.String type)

    - #### getConcurrency

          protected static int getConcurrency(java.lang.String concurrency)

    - #### getHoldability

          protected static int getHoldability(java.lang.String holdability,
                           java.sql.Connection connection)
                                       throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

© 2001-2010 Jaspersoft Corporation www.jaspersoft.com