Class JRJdbcQueryExecuter
java.lang.Object
net.sf.jasperreports.engine.query.JRAbstractQueryExecuter
net.sf.jasperreports.engine.query.JRJdbcQueryExecuter
- All Implemented Interfaces:
JRQueryExecuter
JDBC query executer for SQL queries.
This query executer implementation offers built-in support for SQL queries.
- 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
FieldsModifier and TypeFieldDescriptionprotected static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringprotected static final Stringprotected static final Stringprotected static final Stringprotected Connectionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringprotected static final Stringprotected ResultSetprotected PreparedStatementThe statement used to fire the query.protected static final Stringprotected static final Stringprotected static final StringFields inherited from class net.sf.jasperreports.engine.query.JRAbstractQueryExecuter
clauseFunctions, dataset, EXCEPTION_MESSAGE_KEY_NUMERIC_TYPE_REQUIRED, EXCEPTION_MESSAGE_KEY_PARAMETER_NOT_FOUND, EXCEPTION_MESSAGE_KEY_QUERY_CLAUSE_CIRCULARLY_NESTED_PARAMETER, EXCEPTION_MESSAGE_KEY_QUERY_CLAUSE_ID_FIRST_TOKEN_MISSING, EXCEPTION_MESSAGE_KEY_QUERY_CLAUSE_NOT_FOUND, EXCEPTION_MESSAGE_KEY_UNSUPPORTED_PARAMETER_TYPE, GET_COLLECTED -
Constructor Summary
ConstructorsConstructorDescriptionJRJdbcQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, Map<String, ? extends JRValueParameter> parameters) -
Method Summary
Modifier and TypeMethodDescriptionbooleanCancels the query if it's currently running.voidclose()Closes resources kept open during the data source iteration.protected voidExecutes the query and creates aJRDataSourceout of the result.protected voidprotected StringReturns a canonical query language for this query executer implementation.protected static intgetConcurrency(String concurrency) protected static intgetHoldability(String holdability, Connection connection) protected CalendargetParameterCalendar(JRPropertiesHolder properties) protected StringgetParameterReplacement(String parameterName) Returns the replacement text for a query parameter.protected static intgetResultSetType(String type) protected booleanisProcedureCall(String queryString) protected voidRegisters built-inclause functions.protected TimeZoneresolveTimeZone(String timezoneId) protected voidsetDate(int parameterIndex, Object parameterValue, JRPropertiesHolder properties) protected voidsetStatementMultiParameter(int parameterIndex, String parameterName, int valueIndex, Object value, JRPropertiesHolder properties) protected intsetStatementMultiParameters(int parameterIndex, String parameterName, boolean ignoreNulls) protected voidsetStatementParameter(int parameterIndex, Class<?> parameterType, Object parameterValue, JRPropertiesHolder properties) protected voidsetStatementParameter(int parameterIndex, String parameterName) protected voidsetTime(int parameterIndex, Object parameterValue, JRPropertiesHolder properties) protected voidsetTimestamp(int parameterIndex, Object parameterValue, JRPropertiesHolder properties) protected voidMethods 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, getIntegerParameter, getIntegerParameter, getIntegerParameterOrProperty, getIntegerParameterOrProperty, getJasperReportsContext, getParameterValue, getParameterValue, getPropertiesUtil, getQueryExecutionContext, getQueryString, getRepositoryContext, getStringParameter, getStringParameterOrProperty, getValueParameter, getValueParameter, parameterHasValue, parseQuery, registerClauseFunction, resolveFunction, unregisterClauseFunction, visitQueryParameters
-
Field Details
-
EXCEPTION_MESSAGE_KEY_MULTI_PARAMETERS_CANNOT_CONTAIN_NULL_VALUES
- See Also:
-
EXCEPTION_MESSAGE_KEY_QUERY_STATEMENT_CANCEL_ERROR
- See Also:
-
EXCEPTION_MESSAGE_KEY_QUERY_STATEMENT_EXECUTE_ERROR
- See Also:
-
EXCEPTION_MESSAGE_KEY_QUERY_STATEMENT_PREPARE_ERROR
- See Also:
-
EXCEPTION_MESSAGE_KEY_QUERY_STATEMENT_TIMEOUT_LIMIT_EXCEEDED
- See Also:
-
EXCEPTION_MESSAGE_KEY_UNEXPECTED_MULTI_PARAMETER_TYPE
- See Also:
-
CANONICAL_LANGUAGE
- See Also:
-
CLAUSE_ID_IN
- See Also:
-
CLAUSE_ID_NOTIN
- See Also:
-
CLAUSE_ID_EQUAL
- See Also:
-
CLAUSE_ID_NOTEQUAL
- See Also:
-
CLAUSE_ID_LESS
- See Also:
-
CLAUSE_ID_GREATER
- See Also:
-
CLAUSE_ID_LESS_OR_EQUAL
- See Also:
-
CLAUSE_ID_GREATER_OR_EQUAL
- See Also:
-
CLAUSE_ID_BETWEEN
- See Also:
-
CLAUSE_ID_BETWEEN_CLOSED
- See Also:
-
CLAUSE_ID_BETWEEN_LEFT_CLOSED
- See Also:
-
CLAUSE_ID_BETWEEN_RIGHT_CLOSED
- See Also:
-
TYPE_FORWARD_ONLY
- See Also:
-
TYPE_SCROLL_INSENSITIVE
- See Also:
-
TYPE_SCROLL_SENSITIVE
- See Also:
-
CONCUR_READ_ONLY
- See Also:
-
CONCUR_UPDATABLE
- See Also:
-
HOLD_CURSORS_OVER_COMMIT
- See Also:
-
CLOSE_CURSORS_AT_COMMIT
- See Also:
-
CACHED_ROWSET_CLASS
- See Also:
-
connection
-
statement
The statement used to fire the query. -
resultSet
-
-
Constructor Details
-
JRJdbcQueryExecuter
public JRJdbcQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, Map<String, ? extends JRValueParameter> parameters)
-
-
Method Details
-
registerFunctions
protected void registerFunctions()Registers built-inclause functions.- See Also:
-
getCanonicalQueryLanguage
Description copied from class:JRAbstractQueryExecuterReturns 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:
getCanonicalQueryLanguagein classJRAbstractQueryExecuter- Returns:
- a canonical query language
-
setTimeZone
protected void setTimeZone() -
resolveTimeZone
-
getParameterReplacement
Description copied from class:JRAbstractQueryExecuterReturns the replacement text for a query parameter.- Specified by:
getParameterReplacementin classJRAbstractQueryExecuter- Parameters:
parameterName- the parameter name- Returns:
- the replacement text
- See Also:
-
createDatasource
Description copied from interface:JRQueryExecuterExecutes the query and creates aJRDataSourceout of the result.- Returns:
- a
JRDataSourcewrapping the query execution result. - Throws:
JRException
-
createStatement
- Throws:
JRException
-
isProcedureCall
- Throws:
SQLException
-
getResultSet
-
setStatementParameter
- Throws:
SQLException
-
setStatementMultiParameters
protected int setStatementMultiParameters(int parameterIndex, String parameterName, boolean ignoreNulls) throws SQLException - Throws:
SQLException
-
setStatementMultiParameter
protected void setStatementMultiParameter(int parameterIndex, String parameterName, int valueIndex, Object value, JRPropertiesHolder properties) throws SQLException - Throws:
SQLException
-
setStatementParameter
protected void setStatementParameter(int parameterIndex, Class<?> parameterType, Object parameterValue, JRPropertiesHolder properties) throws SQLException - Throws:
SQLException
-
setTimestamp
protected void setTimestamp(int parameterIndex, Object parameterValue, JRPropertiesHolder properties) throws SQLException - Throws:
SQLException
-
setTime
protected void setTime(int parameterIndex, Object parameterValue, JRPropertiesHolder properties) throws SQLException - Throws:
SQLException
-
setDate
protected void setDate(int parameterIndex, Object parameterValue, JRPropertiesHolder properties) throws SQLException - Throws:
SQLException
-
getParameterCalendar
-
close
public void close()Description copied from interface:JRQueryExecuterCloses 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 ofcreateDatasource. -
closeStatement
protected void closeStatement() -
cancelQuery
Description copied from interface:JRQueryExecuterCancels 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:
trueif and only if the query was running and it has been canceled- Throws:
JRException
-
getResultSetType
-
getConcurrency
-
getHoldability
- Throws:
SQLException
-