org.springframework.jdbc.object

## Class SqlOperation

- java.lang.Object
- - org.springframework.jdbc.object.RdbmsOperation
  - - org.springframework.jdbc.object.SqlOperation

All Implemented Interfaces:
  InitializingBean

Direct Known Subclasses:
  SqlQuery, SqlUpdate

    public abstract class SqlOperation
    extends RdbmsOperation

Operation object representing a SQL-based operation such as a query or update, as opposed to a stored procedure.

Configures a `PreparedStatementCreatorFactory` based on the declared parameters.

Author:
  Rod Johnson, Juergen Hoeller

### Field Summary

### Fields inherited from class org.springframework.jdbc.object.RdbmsOperation

`logger`

### Constructor Summary

Constructors
Constructor and Description
`SqlOperation()`

### Method Summary

Methods
`protected void` `compileInternal()` Overridden method to configure the PreparedStatementCreatorFactory based on our declared parameters.
`protected ParsedSql` `getParsedSql()` Obtain a parsed representation of this operation's SQL statement.
`protected PreparedStatementCreator` `newPreparedStatementCreator(Object[] params)` Return a PreparedStatementCreator to perform an operation with the given parameters.
`protected PreparedStatementCreator` `newPreparedStatementCreator(String sqlToUse, Object[] params)` Return a PreparedStatementCreator to perform an operation with the given parameters.
`protected PreparedStatementSetter` `newPreparedStatementSetter(Object[] params)` Return a PreparedStatementSetter to perform an operation with the given parameters.
`protected void` `onCompileInternal()` Hook method that subclasses may override to post-process compilation.

### Methods inherited from class org.springframework.jdbc.object.RdbmsOperation

`afterPropertiesSet, allowsUnusedParameters, checkCompiled, compile, declareParameter, getDeclaredParameters, getGeneratedKeysColumnNames, getJdbcTemplate, getResultSetType, getSql, isCompiled, isReturnGeneratedKeys, isUpdatableResults, setDataSource, setFetchSize, setGeneratedKeysColumnNames, setJdbcTemplate, setMaxRows, setParameters, setQueryTimeout, setResultSetType, setReturnGeneratedKeys, setSql, setTypes, setUpdatableResults, supportsLobParameters, validateNamedParameters, validateParameters`

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

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

### Constructor Detail

#### SqlOperation

    public SqlOperation()

### Method Detail

#### compileInternal

    protected final void compileInternal()

Overridden method to configure the PreparedStatementCreatorFactory based on our declared parameters.

Specified by:
  `compileInternal` in class `RdbmsOperation`

#### onCompileInternal

    protected void onCompileInternal()

Hook method that subclasses may override to post-process compilation. This implementation does nothing.

See Also:
  `compileInternal()`

#### getParsedSql

    protected ParsedSql getParsedSql()

Obtain a parsed representation of this operation's SQL statement.

Typically used for named parameter parsing.

#### newPreparedStatementSetter

    protected final PreparedStatementSetter newPreparedStatementSetter(Object[] params)

Return a PreparedStatementSetter to perform an operation with the given parameters.

Parameters:
  `params` - the parameter array (may be `null`)

#### newPreparedStatementCreator

    protected final PreparedStatementCreator newPreparedStatementCreator(Object[] params)

Return a PreparedStatementCreator to perform an operation with the given parameters.

Parameters:
  `params` - the parameter array (may be `null`)

#### newPreparedStatementCreator

    protected final PreparedStatementCreator newPreparedStatementCreator(String sqlToUse,
                                                       Object[] params)

Return a PreparedStatementCreator to perform an operation with the given parameters.

Parameters:
  `sqlToUse` - the actual SQL statement to use (if different from the factory's, for example because of named parameter expanding)
  `params` - the parameter array (may be `null`)