类 AbstractJdbcCall

  • 直接已知子类:
    SimpleJdbcCall

    public abstract class AbstractJdbcCall
    extends Object
    Abstract class to provide base functionality for easy stored procedure calls based on configuration options and database meta-data.

    This class provides the base SPI for SimpleJdbcCall.

    从以下版本开始:
    2.5
    作者:
    Thomas Risberg, Juergen Hoeller
    • 字段详细资料

      • logger

        protected final Log logger
        Logger available to subclasses
    • 方法详细资料

      • setFunction

        public void setFunction​(boolean function)
        Specify whether this call is a function call. The default is false.
      • isFunction

        public boolean isFunction()
        Is this call a function call?
      • setReturnValueRequired

        public void setReturnValueRequired​(boolean returnValueRequired)
        Specify whether the call requires a return value. The default is false.
      • setNamedBinding

        public void setNamedBinding​(boolean namedBinding)
        Specify whether parameters should be bound by name. The default is false.
        从以下版本开始:
        4.2
      • isNamedBinding

        public boolean isNamedBinding()
        Should parameters be bound by name?
        从以下版本开始:
        4.2
      • setAccessCallParameterMetaData

        public void setAccessCallParameterMetaData​(boolean accessCallParameterMetaData)
        Specify whether the parameter meta-data for the call should be used. The default is true.
      • getCallString

        public String getCallString()
        Get the call string that should be used based on parameters and meta-data.
      • addDeclaredParameter

        public void addDeclaredParameter​(SqlParameter parameter)
        Add a declared parameter to the list of parameters for the call.

        Only parameters declared as SqlParameter and SqlInOutParameter will be used to provide input values. This is different from the StoredProcedure class which - for backwards compatibility reasons - allows input values to be provided for parameters declared as SqlOutParameter.

        参数:
        parameter - the SqlParameter to add
      • addDeclaredRowMapper

        public void addDeclaredRowMapper​(String parameterName,
                                         RowMapper<?> rowMapper)
        Add a RowMapper for the specified parameter or column.
        参数:
        parameterName - name of parameter or column
        rowMapper - the RowMapper implementation to use
      • compile

        public final void compile()
                           throws InvalidDataAccessApiUsageException
        Compile this JdbcCall using provided parameters and meta-data plus other settings.

        This finalizes the configuration for this object and subsequent attempts to compile are ignored. This will be implicitly called the first time an un-compiled call is executed.

        抛出:
        InvalidDataAccessApiUsageException - if the object hasn't been correctly initialized, for example if no DataSource has been provided
      • compileInternal

        protected void compileInternal()
        Delegate method to perform the actual compilation.

        Subclasses can override this template method to perform their own compilation. Invoked after this base class's compilation is complete.

      • onCompileInternal

        protected void onCompileInternal()
        Hook method that subclasses may override to react to compilation. This implementation does nothing.
      • isCompiled

        public boolean isCompiled()
        Is this operation "compiled"?
        返回:
        whether this operation is compiled and ready to use
      • checkCompiled

        protected void checkCompiled()
        Check whether this operation has been compiled already; lazily compile it if not already compiled.

        Automatically called by doExecute.

      • doExecute

        protected Map<String,​ObjectdoExecute​(Object... args)
        Delegate method that executes the call using the passed-in array of parameters.
        参数:
        args - array of parameter values. The order of values must match the order declared for the stored procedure.
        返回:
        Map of out parameters
      • doExecute

        protected Map<String,​ObjectdoExecute​(Map<String,​?> args)
        Delegate method that executes the call using the passed-in Map of parameters.
        参数:
        args - Map of parameter name and values
        返回:
        Map of out parameters
      • getScalarOutParameterName

        protected String getScalarOutParameterName()
        Get the name of a single out parameter or return value. Used for functions or procedures with one out parameter.
      • getCallParameters

        protected List<SqlParametergetCallParameters()
        Get a List of all the call parameters to be used for call. This includes any parameters added based on meta-data processing.
      • matchInParameterValuesWithCallParameters

        protected Map<String,​?> matchInParameterValuesWithCallParameters​(Map<String,​?> args)
        Match the provided in parameter values with registered parameters and parameters defined via meta-data processing.
        参数:
        args - the parameter values provided in a Map
        返回:
        Map with parameter names and values