Package org.apache.camel.component.sql
Class DefaultSqlPrepareStatementStrategy
java.lang.Object
org.apache.camel.component.sql.DefaultSqlPrepareStatementStrategy
- All Implemented Interfaces:
SqlPrepareStatementStrategy
public class DefaultSqlPrepareStatementStrategy
extends Object
implements SqlPrepareStatementStrategy
Default
SqlPrepareStatementStrategy that supports named query parameters as well index based.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static org.springframework.util.CompositeIterator<?> createInParameterIterator(Object value) Iterator<?> createPopulateIterator(String query, String preparedQuery, int expectedParams, org.apache.camel.Exchange exchange, Object value) Creates the iterator to use when setting query parameters on the prepared statement.protected booleanhasNamedParameters(String query) voidpopulateStatement(PreparedStatement ps, Iterator<?> iterator, int expectedParams) Populates the query parameters on the prepared statementprepareQuery(String query, boolean allowNamedParameters, org.apache.camel.Exchange exchange) Prepares the query to be executed.
-
Constructor Details
-
DefaultSqlPrepareStatementStrategy
public DefaultSqlPrepareStatementStrategy() -
DefaultSqlPrepareStatementStrategy
public DefaultSqlPrepareStatementStrategy(char separator)
-
-
Method Details
-
prepareQuery
public String prepareQuery(String query, boolean allowNamedParameters, org.apache.camel.Exchange exchange) throws SQLException Description copied from interface:SqlPrepareStatementStrategyPrepares the query to be executed.- Specified by:
prepareQueryin interfaceSqlPrepareStatementStrategy- Parameters:
query- the query which may contain named query parametersallowNamedParameters- whether named parameters is allowedexchange- the current exchange- Returns:
- the query to actually use, which must be accepted by the JDBC driver.
- Throws:
SQLException
-
createPopulateIterator
public Iterator<?> createPopulateIterator(String query, String preparedQuery, int expectedParams, org.apache.camel.Exchange exchange, Object value) throws SQLException Description copied from interface:SqlPrepareStatementStrategyCreates the iterator to use when setting query parameters on the prepared statement.- Specified by:
createPopulateIteratorin interfaceSqlPrepareStatementStrategy- Parameters:
query- the original query which may contain named parameterspreparedQuery- the query to actually use, which must be accepted by the JDBC driver.expectedParams- number of expected parametersexchange- the current exchangevalue- the message body that contains the data for the query parameters- Returns:
- the iterator
- Throws:
SQLException- is thrown if error creating the iterator
-
populateStatement
public void populateStatement(PreparedStatement ps, Iterator<?> iterator, int expectedParams) throws SQLException Description copied from interface:SqlPrepareStatementStrategyPopulates the query parameters on the prepared statement- Specified by:
populateStatementin interfaceSqlPrepareStatementStrategy- Parameters:
ps- the prepared statementiterator- the iterator to use for getting the parameter dataexpectedParams- number of expected parameters- Throws:
SQLException- is thrown if error populating parameters
-
hasNamedParameters
-
createInParameterIterator
protected static org.springframework.util.CompositeIterator<?> createInParameterIterator(Object value)
-