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
    Modifier and Type | Method and Description
    --- | ---
    `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`)