public class NamedParameterApplicator extends java.lang.Object implements ParameterApplicator
ParameterApplicator
implementation that allows referencing by name.
Using a NamedParameterApplicator
implementation means that you can modify your SQL statement to reference named statement
parameter making it no longer depending on declaration order.
For instance:
SELECT * FROM mytable WHERE field1=#param1 AND field2=#param2 AND field3=#param3 AND field4=#param4 AND field5=#param5
If you then named your statement parameters as param1, param2, param3, param4, param5
using
NamedStatementParameter.setName(String)
then the order of parameters as they appear in configuration no longer matters.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_PARAM_NAME_PREFIX |
static java.lang.String |
DEFAULT_PARAM_NAME_REGEX |
protected org.slf4j.Logger |
log |
Constructor and Description |
---|
NamedParameterApplicator() |
Modifier and Type | Method and Description |
---|---|
void |
applyStatementParameters(AdaptrisMessage message,
java.sql.PreparedStatement statement,
StatementParameterCollection parameters,
java.lang.String originalSql) |
java.lang.String |
getParameterNamePrefix() |
java.lang.String |
getParameterNameRegex() |
java.lang.String |
prepareParametersToStatement(java.lang.String originalStatement) |
void |
setParameterNamePrefix(java.lang.String s)
Set the parameter name prefix.
|
void |
setParameterNameRegex(java.lang.String regex)
Set the parameter name regular expression.
|
protected transient org.slf4j.Logger log
public static final java.lang.String DEFAULT_PARAM_NAME_PREFIX
public static final java.lang.String DEFAULT_PARAM_NAME_REGEX
public void applyStatementParameters(AdaptrisMessage message, java.sql.PreparedStatement statement, StatementParameterCollection parameters, java.lang.String originalSql) throws ServiceException
applyStatementParameters
in interface ParameterApplicator
ServiceException
public java.lang.String prepareParametersToStatement(java.lang.String originalStatement)
prepareParametersToStatement
in interface ParameterApplicator
public java.lang.String getParameterNamePrefix()
public void setParameterNamePrefix(java.lang.String s)
s
- the parameter name prefix, defaults to "#"public java.lang.String getParameterNameRegex()
public void setParameterNameRegex(java.lang.String regex)
regex
- the parameter name regex, defaults to "#\\w*"