org.springframework.jdbc.core

## Class SqlParameter

- java.lang.Object
- - org.springframework.jdbc.core.SqlParameter

- Direct Known Subclasses:
    ResultSetSupportingSqlParameter, SqlParameterValue, SqlReturnUpdateCount

      public class SqlParameter
      extends Object

  Object to represent a SQL parameter definition.

  Parameters may be anonymous, in which case "name" is `null`. However, all parameters must define a SQL type according to `Types`.

  Author:
    Rod Johnson, Thomas Risberg, Juergen Hoeller
  See Also:
    `Types`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SqlParameter(int sqlType)` Create a new anonymous SqlParameter, supplying the SQL type.
    `SqlParameter(int sqlType, int scale)` Create a new anonymous SqlParameter, supplying the SQL type.
    `SqlParameter(int sqlType, String typeName)` Create a new anonymous SqlParameter, supplying the SQL type.
    `SqlParameter(SqlParameter otherParam)` Copy constructor.
    `SqlParameter(String name, int sqlType)` Create a new SqlParameter, supplying name and SQL type.
    `SqlParameter(String name, int sqlType, int scale)` Create a new SqlParameter, supplying name and SQL type.
    `SqlParameter(String name, int sqlType, String typeName)` Create a new SqlParameter, supplying name and SQL type.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getName()` Return the name of the parameter.
    `Integer` | `getScale()` Return the scale of the parameter, if any.
    `int` | `getSqlType()` Return the SQL type of the parameter.
    `String` | `getTypeName()` Return the type name of the parameter, if any.
    `boolean` | `isInputValueProvided()` Return whether this parameter holds input values that should be set before execution even if they are `null`.
    `boolean` | `isResultsParameter()` Return whether this parameter is an implicit return parameter used during the results preocessing of the CallableStatement.getMoreResults/getUpdateCount.
    `static List<SqlParameter>` | `sqlTypesToAnonymousParameterList(int[] types)` Convert a list of JDBC types, as defined in `java.sql.Types`, to a List of SqlParameter objects as used in this package.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SqlParameter

          public SqlParameter(int sqlType)

      Create a new anonymous SqlParameter, supplying the SQL type.
      Parameters:
        `sqlType` - SQL type of the parameter according to `java.sql.Types`

    - #### SqlParameter

          public SqlParameter(int sqlType,
                      String typeName)

      Create a new anonymous SqlParameter, supplying the SQL type.
      Parameters:
        `sqlType` - SQL type of the parameter according to `java.sql.Types`
        `typeName` - the type name of the parameter (optional)

    - #### SqlParameter

          public SqlParameter(int sqlType,
                      int scale)

      Create a new anonymous SqlParameter, supplying the SQL type.
      Parameters:
        `sqlType` - SQL type of the parameter according to `java.sql.Types`
        `scale` - the number of digits after the decimal point (for DECIMAL and NUMERIC types)

    - #### SqlParameter

          public SqlParameter(String name,
                      int sqlType)

      Create a new SqlParameter, supplying name and SQL type.
      Parameters:
        `name` - name of the parameter, as used in input and output maps
        `sqlType` - SQL type of the parameter according to `java.sql.Types`

    - #### SqlParameter

          public SqlParameter(String name,
                      int sqlType,
                      String typeName)

      Create a new SqlParameter, supplying name and SQL type.
      Parameters:
        `name` - name of the parameter, as used in input and output maps
        `sqlType` - SQL type of the parameter according to `java.sql.Types`
        `typeName` - the type name of the parameter (optional)

    - #### SqlParameter

          public SqlParameter(String name,
                      int sqlType,
                      int scale)

      Create a new SqlParameter, supplying name and SQL type.
      Parameters:
        `name` - name of the parameter, as used in input and output maps
        `sqlType` - SQL type of the parameter according to `java.sql.Types`
        `scale` - the number of digits after the decimal point (for DECIMAL and NUMERIC types)

    - #### SqlParameter

          public SqlParameter(SqlParameter otherParam)

      Copy constructor.
      Parameters:
        `otherParam` - the SqlParameter object to copy from

  - ### Method Detail

    - #### getName

          public String getName()

      Return the name of the parameter.

    - #### getSqlType

          public int getSqlType()

      Return the SQL type of the parameter.

    - #### getTypeName

          public String getTypeName()

      Return the type name of the parameter, if any.

    - #### getScale

          public Integer getScale()

      Return the scale of the parameter, if any.

    - #### isInputValueProvided

          public boolean isInputValueProvided()

      Return whether this parameter holds input values that should be set before execution even if they are `null`.

      This implementation always returns `true`.

    - #### isResultsParameter

          public boolean isResultsParameter()

      Return whether this parameter is an implicit return parameter used during the results preocessing of the CallableStatement.getMoreResults/getUpdateCount.

      This implementation always returns `false`.

    - #### sqlTypesToAnonymousParameterList

          public static List<SqlParameter> sqlTypesToAnonymousParameterList(int[] types)

      Convert a list of JDBC types, as defined in `java.sql.Types`, to a List of SqlParameter objects as used in this package.