public class

SqlUpdate

extends SqlOperation
java.lang.Object
   ↳ org.springframework.jdbc.object.RdbmsOperation
     ↳ org.springframework.jdbc.object.SqlOperation
       ↳ org.springframework.jdbc.object.SqlUpdate
Known Direct Subclasses

Class Overview

Reusable operation object representing a SQL update.

This class provides a number of update methods, analogous to the execute methods of query objects.

This class is concrete. Although it can be subclassed (for example to add a custom update method) it can easily be parameterized by setting SQL and declaring parameters.

Like all RdbmsOperation classes that ship with the Spring Framework, SqlQuery instances are thread-safe after their initialization is complete. That is, after they are constructed and configured via their setter methods, they can be used safely from multiple threads.

See Also

Summary

[Expand]
Inherited Fields
From class org.springframework.jdbc.object.RdbmsOperation
Public Constructors
SqlUpdate()
Constructor to allow use as a JavaBean.
SqlUpdate(DataSource ds, String sql)
Constructs an update object with a given DataSource and SQL.
SqlUpdate(DataSource ds, String sql, int[] types)
Construct an update object with a given DataSource, SQL and anonymous parameters.
SqlUpdate(DataSource ds, String sql, int[] types, int maxRowsAffected)
Construct an update object with a given DataSource, SQL, anonymous parameters and specifying the maximum number of rows that may be affected.
Public Methods
void setMaxRowsAffected(int maxRowsAffected)
Set the maximum number of rows that may be affected by this update.
void setRequiredRowsAffected(int requiredRowsAffected)
Set the exact number of rows that must be affected by this update.
int update(String p1, String p2)
Convenient method to execute an update given two String args.
int update(int p1, int p2)
Convenient method to execute an update given two int args.
int update(long p1, long p2)
Convenient method to execute an update given two long args.
int update(long p1)
Convenient method to execute an update given one long arg.
int update(Object[] params, KeyHolder generatedKeyHolder)
Method to execute the update given arguments and retrieve the generated keys using a KeyHolder.
int update(int p1)
Convenient method to execute an update given one int arg.
int update()
Convenience method to execute an update with no parameters.
int update(Object... params)
Generic method to execute the update given parameters.
int update(String p)
Convenient method to execute an update given one String arg.
int updateByNamedParam(Map<String, ?> paramMap, KeyHolder generatedKeyHolder)
Method to execute the update given arguments and retrieve the generated keys using a KeyHolder.
int updateByNamedParam(Map<String, ?> paramMap)
Generic method to execute the update given named parameters.
Protected Methods
void checkRowsAffected(int rowsAffected)
Check the given number of affected rows against the specified maximum number or required number.
[Expand]
Inherited Methods
From class org.springframework.jdbc.object.SqlOperation
From class org.springframework.jdbc.object.RdbmsOperation
From class java.lang.Object
From interface org.springframework.beans.factory.InitializingBean

Public Constructors

public SqlUpdate ()

Constructor to allow use as a JavaBean. DataSource and SQL must be supplied before compilation and use.

public SqlUpdate (DataSource ds, String sql)

Constructs an update object with a given DataSource and SQL.

Parameters
ds DataSource to use to obtain connections
sql SQL statement to execute

public SqlUpdate (DataSource ds, String sql, int[] types)

Construct an update object with a given DataSource, SQL and anonymous parameters.

Parameters
ds DataSource to use to obtain connections
sql SQL statement to execute
types SQL types of the parameters, as defined in the java.sql.Types class
See Also
  • java.sql.Types

public SqlUpdate (DataSource ds, String sql, int[] types, int maxRowsAffected)

Construct an update object with a given DataSource, SQL, anonymous parameters and specifying the maximum number of rows that may be affected.

Parameters
ds DataSource to use to obtain connections
sql SQL statement to execute
types SQL types of the parameters, as defined in the java.sql.Types class
maxRowsAffected the maximum number of rows that may be affected by the update
See Also
  • java.sql.Types

Public Methods

public void setMaxRowsAffected (int maxRowsAffected)

Set the maximum number of rows that may be affected by this update. The default value is 0, which does not limit the number of rows affected.

Parameters
maxRowsAffected the maximum number of rows that can be affected by this update without this class's update method considering it an error

public void setRequiredRowsAffected (int requiredRowsAffected)

Set the exact number of rows that must be affected by this update. The default value is 0, which allows any number of rows to be affected.

This is an alternative to setting the maximum number of rows that may be affected.

Parameters
requiredRowsAffected the exact number of rows that must be affected by this update without this class's update method considering it an error

public int update (String p1, String p2)

Convenient method to execute an update given two String args.

public int update (int p1, int p2)

Convenient method to execute an update given two int args.

public int update (long p1, long p2)

Convenient method to execute an update given two long args.

public int update (long p1)

Convenient method to execute an update given one long arg.

public int update (Object[] params, KeyHolder generatedKeyHolder)

Method to execute the update given arguments and retrieve the generated keys using a KeyHolder.

Parameters
params array of parameter objects
generatedKeyHolder KeyHolder that will hold the generated keys
Returns
  • the number of rows affected by the update

public int update (int p1)

Convenient method to execute an update given one int arg.

public int update ()

Convenience method to execute an update with no parameters.

public int update (Object... params)

Generic method to execute the update given parameters. All other update methods invoke this method.

Parameters
params array of parameters objects
Returns
  • the number of rows affected by the update

public int update (String p)

Convenient method to execute an update given one String arg.

public int updateByNamedParam (Map<String, ?> paramMap, KeyHolder generatedKeyHolder)

Method to execute the update given arguments and retrieve the generated keys using a KeyHolder.

Parameters
paramMap Map of parameter name to parameter object, matching named parameters specified in the SQL statement
generatedKeyHolder KeyHolder that will hold the generated keys
Returns
  • the number of rows affected by the update

public int updateByNamedParam (Map<String, ?> paramMap)

Generic method to execute the update given named parameters. All other update methods invoke this method.

Parameters
paramMap Map of parameter name to parameter object, matching named parameters specified in the SQL statement
Returns
  • the number of rows affected by the update

Protected Methods

protected void checkRowsAffected (int rowsAffected)

Check the given number of affected rows against the specified maximum number or required number.

Parameters
rowsAffected the number of affected rows
Throws
JdbcUpdateAffectedIncorrectNumberOfRowsException if the actually affected rows are out of bounds