## 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
`SqlOperation()`

Method Summary
`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`)