Package org.springframework.jdbc.object

# Class SqlOperation

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

All Implemented Interfaces:
  `org.springframework.beans.factory.InitializingBean`

Direct Known Subclasses:
  `SqlQuery`, `SqlUpdate`

public abstract class SqlOperation extends RdbmsOperation
Operation object representing an 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
Description
`SqlOperation()`

## Method Summary

Modifier and Type
Method
Description
`protected final 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 final PreparedStatementCreator`
`newPreparedStatementCreator(Object[] params)`
Return a PreparedStatementCreator to perform an operation with the given parameters.
`protected final PreparedStatementCreator`
`newPreparedStatementCreator(String sqlToUse, Object[] params)`
Return a PreparedStatementCreator to perform an operation with the given parameters.
`protected final 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, resolveSql, 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 Details

### SqlOperation

public SqlOperation()

## Method Details

### 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(@Nullable 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(@Nullable 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, @Nullable 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`)