类 SqlUpdate

  • 所有已实现的接口:
    InitializingBean
    直接已知子类:
    BatchSqlUpdate

    public class SqlUpdate
    extends SqlOperation
    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.

    作者:
    Rod Johnson, Thomas Risberg, Juergen Hoeller
    另请参阅:
    SqlQuery
    • 构造器详细资料

      • SqlUpdate

        public SqlUpdate​(DataSource ds,
                         String sql)
        Constructs an update object with a given DataSource and SQL.
        参数:
        ds - DataSource to use to obtain connections
        sql - SQL statement to execute
      • SqlUpdate

        public SqlUpdate​(DataSource ds,
                         String sql,
                         int[] types)
        Construct an update object with a given DataSource, SQL and anonymous 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
        另请参阅:
        Types
      • SqlUpdate

        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.
        参数:
        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
        另请参阅:
        Types
    • 方法详细资料

      • setMaxRowsAffected

        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.
        参数:
        maxRowsAffected - the maximum number of rows that can be affected by this update without this class's update method considering it an error
      • setRequiredRowsAffected

        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.

        参数:
        requiredRowsAffected - the exact number of rows that must be affected by this update without this class's update method considering it an error
      • update

        public int update​(Object... params)
                   throws DataAccessException
        Generic method to execute the update given parameters. All other update methods invoke this method.
        参数:
        params - array of parameters objects
        返回:
        the number of rows affected by the update
        抛出:
        DataAccessException
      • update

        public int update​(Object[] params,
                          KeyHolder generatedKeyHolder)
                   throws DataAccessException
        Method to execute the update given arguments and retrieve the generated keys using a KeyHolder.
        参数:
        params - array of parameter objects
        generatedKeyHolder - KeyHolder that will hold the generated keys
        返回:
        the number of rows affected by the update
        抛出:
        DataAccessException
      • updateByNamedParam

        public int updateByNamedParam​(Map<String,​?> paramMap)
                               throws DataAccessException
        Generic method to execute the update given named parameters. All other update methods invoke this method.
        参数:
        paramMap - Map of parameter name to parameter object, matching named parameters specified in the SQL statement
        返回:
        the number of rows affected by the update
        抛出:
        DataAccessException
      • updateByNamedParam

        public int updateByNamedParam​(Map<String,​?> paramMap,
                                      KeyHolder generatedKeyHolder)
                               throws DataAccessException
        Method to execute the update given arguments and retrieve the generated keys using a KeyHolder.
        参数:
        paramMap - Map of parameter name to parameter object, matching named parameters specified in the SQL statement
        generatedKeyHolder - KeyHolder that will hold the generated keys
        返回:
        the number of rows affected by the update
        抛出:
        DataAccessException