Module  java.sql
软件包  java.sql

Interface CallableStatement

  • All Superinterfaces:
    AutoCloseablePreparedStatementStatementWrapper


    public interface CallableStatement
    extends PreparedStatement
    用于执行SQL存储过程的界面。 JDBC API提供了存储过程SQL转义语法,允许以标准方式为所有RDBMS调用存储过程。 此转义语法包含一个结果参数和不包含结果参数的表单。 如果使用,结果参数必须注册为OUT参数。 其他参数可用于输入,输出或两者。 参数按顺序依次引用,第一个参数为1。
      {?= call <procedure-name>[(<arg1>,<arg2>, ...)]}
       {call <procedure-name>[(<arg1>,<arg2>, ...)]} 

    IN参数值使用继承自PreparedStatementset方法设置。 所有OUT参数的类型必须在执行存储过程之前进行注册; 它们的值通过这里提供的get方法在执行后被检索。

    A CallableStatement可以返回一个ResultSet对象或多个ResultSet对象。 多个ResultSet对象使用继承自Statement操作来处理。

    为了最大的可移植性,调用的ResultSet对象和更新计数应该在获得输出参数的值进行处理。

    从以下版本开始:
    1.1
    另请参见:
    Connection.prepareCall(java.lang.String)ResultSet
    • 方法详细信息

      • registerOutParameter

        void registerOutParameter​(int parameterIndex,
                                  int sqlType)
                           throws SQLException
        将序号parameterIndex的OUT参数注册到JDBC类型sqlType 所有OUT参数必须在执行存储过程之前进行注册。

        对于OUT参数,由sqlType指定的JDBC类型确定了在get方法中必须使用的Java类型,以读取该参数的值。

        如果期望返回此输出参数的JDBC类型是特定于该特定数据库的,则sqlType应为java.sql.Types.OTHER 方法getObject(int)检索该值。

        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        sqlType - 由java.sql.Types定义的JDBC类型代码。 如果参数为JDBC类型NUMERICDECIMAL ,则应使用接受比例值的registerOutParameter版本。
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException -如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT数据类型和JDBC驱动程序不支持此数据类型
        另请参见:
        Types
      • registerOutParameter

        void registerOutParameter​(int parameterIndex,
                                  int sqlType,
                                  int scale)
                           throws SQLException
        将序号parameterIndex的参数注册为JDBC类型sqlType 所有OUT参数必须在执行存储过程之前进行注册。

        对于OUT参数,由sqlType指定的JDBC类型决定了在get方法中必须使用的Java类型,以读取该参数的值。

        这个版本registerOutParameter当参数是JDBC类型应使用NUMERICDECIMAL

        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        sqlType - 由 java.sql.Types定义的SQL类型代码。
        scale - 小数点右侧所需的数字位数。 它必须大于或等于零。
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException -如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT数据类型和JDBC驱动程序不支持此数据类型
        另请参见:
        Types
      • wasNull

        boolean wasNull​()
                 throws SQLException
        检索读取的最后一个OUT参数的值是否为SQL NULL 请注意,此方法只能在调用getter方法后调用; 否则,在确定是否为null没有null
        结果
        true如果最后一个参数读取为SQL NULL ; 否则为false
        异常
        SQLException - 如果发生数据库访问错误或此方法在关闭的 CallableStatement调用 CallableStatement
      • getString

        String getString​(int parameterIndex)
                  throws SQLException
        获取指定的JDBC的价值CHARVARCHAR ,或LONGVARCHAR参数为String的Java编程语言。

        对于固定长度类型的JDBC CHAR ,返回的String对象与数据库中的SQL CHAR值具有完全相同的值,包括数据库添加的任何填充。

        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        setString(java.lang.String, java.lang.String)
      • getBoolean

        boolean getBoolean​(int parameterIndex)
                    throws SQLException
        以Java编程语言的形式获取指定的JDBC BITBOOLEAN参数的值作为 boolean
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值。 如果值为SQL NULL ,则结果为false
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        setBoolean(java.lang.String, boolean)
      • getByte

        byte getByte​(int parameterIndex)
              throws SQLException
        以Java编程语言中的 byte指定的JDBC TINYINT参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值。 如果值为SQL NULL ,则结果为0
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        setByte(java.lang.String, byte)
      • getShort

        short getShort​(int parameterIndex)
                throws SQLException
        以Java编程语言中的 short指定的JDBC SMALLINT参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值。 如果值为SQL NULL ,则结果为0
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        setShort(java.lang.String, short)
      • getInt

        int getInt​(int parameterIndex)
            throws SQLException
        以Java编程语言中的 int指定的JDBC INTEGER参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值。 如果值为SQL NULL ,则结果为0
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        setInt(java.lang.String, int)
      • getLong

        long getLong​(int parameterIndex)
              throws SQLException
        以Java编程语言中的 long指定的JDBC BIGINT参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值。 如果值为SQL NULL ,则结果为0
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        setLong(java.lang.String, long)
      • getFloat

        float getFloat​(int parameterIndex)
                throws SQLException
        以Java编程语言中的 float指定的JDBC FLOAT参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值。 如果值为SQL NULL ,则结果为0
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        setFloat(java.lang.String, float)
      • getDouble

        double getDouble​(int parameterIndex)
                  throws SQLException
        以Java编程语言中的 double指定的JDBC DOUBLE参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值。 如果值为SQL NULL ,则结果为0
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        setDouble(java.lang.String, double)
      • getBigDecimal

        @Deprecated(since="1.2")
        BigDecimal getBigDecimal​(int parameterIndex,
                                 int scale)
                          throws SQLException
        已过时。 使用getBigDecimal(int parameterIndex)getBigDecimal(String parameterName)
        将指定的JDBC NUMERIC参数的值作为 java.math.BigDecimal对象的小数点右侧的 比例数字检索。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        scale - 小数点右侧的位数
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        另请参见:
        setBigDecimal(java.lang.String, java.math.BigDecimal)
      • getBytes

        byte[] getBytes​(int parameterIndex)
                 throws SQLException
        以Java编程语言中的 byte数组的形式 byte指定的JDBC BINARYVARBINARY参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        setBytes(java.lang.String, byte[])
      • getDate

        Date getDate​(int parameterIndex)
              throws SQLException
        java.sql.Date对象的形式获取指定的JDBC DATE参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        setDate(java.lang.String, java.sql.Date)
      • getTime

        Time getTime​(int parameterIndex)
              throws SQLException
        java.sql.Time对象的形式获取指定的JDBC TIME参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        setTime(java.lang.String, java.sql.Time)
      • getTimestamp

        Timestamp getTimestamp​(int parameterIndex)
                        throws SQLException
        java.sql.Timestamp对象的形式获取指定的JDBC TIMESTAMP参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        setTimestamp(java.lang.String, java.sql.Timestamp)
      • getObject

        Object getObject​(int parameterIndex)
                  throws SQLException
        以Java编程语言中的Object指定参数的值。 如果值为SQL NULL ,则驱动程序返回一个Java null

        此方法返回一个Java对象,其类型对应于使用方法registerOutParameter为此参数注册的JDBC类型。 通过将目标JDBC类型注册为java.sql.Types.OTHER ,此方法可用于读取特定于数据库的抽象数据类型。

        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        A java.lang.Object保存OUT参数值
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        另请参见:
        TypessetObject(java.lang.String, java.lang.Object, int, int)
      • getBigDecimal

        BigDecimal getBigDecimal​(int parameterIndex)
                          throws SQLException
        将指定的JDBC NUMERIC参数的值作为 java.math.BigDecimal对象 NUMERIC ,该对象的值包含小数点右侧的数字。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值全精度。 如果值为SQL NULL ,结果为null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        从以下版本开始:
        1.2
        另请参见:
        setBigDecimal(java.lang.String, java.math.BigDecimal)
      • getObject

        Object getObject​(int parameterIndex,
                         Map<String,Class<?>> map)
                  throws SQLException
        返回表示OUT参数值parameterIndex的对象,并使用map作为参数值的自定义映射。

        此方法返回一个Java对象,其类型对应于使用方法registerOutParameter为该参数注册的JDBC类型。 通过将目标JDBC类型注册为java.sql.Types.OTHER ,此方法可用于读取数据库特定的抽象数据类型。

        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        map - 从SQL类型名称到Java类的映射
        结果
        一个 java.lang.Object保存OUT参数值
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.2
        另请参见:
        setObject(java.lang.String, java.lang.Object, int, int)
      • getRef

        Ref getRef​(int parameterIndex)
            throws SQLException
        以Java编程语言的形式获取指定的JDBC REF(<structured-type>)参数的值作为Ref对象。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值为Java编程语言中的一个Ref对象。 如果值为SQL NULL ,则返回值null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.2
      • getBlob

        Blob getBlob​(int parameterIndex)
              throws SQLException
        以Java编程语言的形式获取指定的JDBC BLOB参数的值作为Blob对象。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值为Java编程语言中的一个Blob对象。 如果值为SQL NULL ,则返回值null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.2
      • getClob

        Clob getClob​(int parameterIndex)
              throws SQLException
        以Java编程语言 java.sql.Clob指定的JDBC CLOB参数的值作为 java.sql.Clob对象。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        Clob 如果值为SQL NULL ,则返回值null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.2
      • getArray

        Array getArray​(int parameterIndex)
                throws SQLException
        以Java编程语言的形式获取指定的JDBC ARRAY参数的值作为2705898377907对象。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        参数值为Java编程语言中的一个Array对象。 如果值为SQL NULL ,则返回值null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.2
      • getDate

        Date getDate​(int parameterIndex,
                     Calendar cal)
              throws SQLException
        将指定的JDBC DATE参数的值作为java.sql.Date对象java.sql.Date ,使用给定的Calendar对象构造日期。 使用Calendar对象,驱动程序可以计算考虑到自定义时区和区域设置的日期。 如果没有指定Calendar对象,则驱动程序使用默认的时区和区域设置。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        cal - 驱动程序将用于构建日期的 Calendar对象
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        从以下版本开始:
        1.2
        另请参见:
        setDate(java.lang.String, java.sql.Date)
      • getTime

        Time getTime​(int parameterIndex,
                     Calendar cal)
              throws SQLException
        检索指定的JDBC TIME参数的值作为java.sql.Time对象,使用给定的Calendar对象来构建时间。 使用Calendar对象,驱动程序可以计算考虑到自定义时区和区域设置的时间。 如果没有指定Calendar对象,驱动程序将使用默认的时区和区域设置。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        cal - 驱动程序将用于构建时间的 Calendar对象
        结果
        参数值 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        从以下版本开始:
        1.2
        另请参见:
        setTime(java.lang.String, java.sql.Time)
      • getTimestamp

        Timestamp getTimestamp​(int parameterIndex,
                               Calendar cal)
                        throws SQLException
        将指定的JDBC TIMESTAMP参数的值作为java.sql.Timestamp对象java.sql.Timestamp ,使用给定的Calendar对象构造Timestamp对象。 使用Calendar对象,驱动程序可以计算考虑到自定义时区和区域设置的时间戳。 如果未指定Calendar对象,则驱动程序将使用默认的时区和区域设置。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        cal - 驱动程序将用于构建时间戳的 Calendar对象
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        从以下版本开始:
        1.2
        另请参见:
        setTimestamp(java.lang.String, java.sql.Timestamp)
      • registerOutParameter

        void registerOutParameter​(int parameterIndex,
                                  int sqlType,
                                  String typeName)
                           throws SQLException
        注册指定的输出参数。 此版本的方法registerOutParameter应用于用户定义或REF输出参数。 的用户定义类型的实例包括: STRUCTDISTINCTJAVA_OBJECT ,和指定数组类型。

        所有OUT参数必须在执行存储过程之前进行注册。

        对于用户定义的参数,还应该给出参数的完全限定的SQL类型名称,而REF参数要求给出引用类型的完全限定类型名称。 不需要类型代码和类型名称信息的JDBC驱动程序可能会忽略它。 然而,为了便于携带,应用程序应始终为用户定义和REF参数提供这些值。 虽然是为用户定义的和REF参数,该方法可以被用于注册任何JDBC类型的参数。 如果该参数不具有用户定义或REF类型,则typeName参数将被忽略。

        注意:读取out参数的值时,必须使用Java类型对应于参数的注册SQL类型的getter方法。

        参数
        parameterIndex - 第一个参数是1,第二个是2,...
        sqlType - 一个值从Types
        typeName - SQL结构化类型的全限定名称
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException -如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT数据类型和JDBC驱动程序不支持此数据类型
        从以下版本开始:
        1.2
        另请参见:
        Types
      • registerOutParameter

        void registerOutParameter​(String parameterName,
                                  int sqlType)
                           throws SQLException
        将名为parameterName的OUT参数注册到JDBC类型sqlType 所有OUT参数必须在执行存储过程之前进行注册。

        对于OUT参数,由sqlType指定的JDBC类型决定了在get方法中必须使用的Java类型,以读取该参数的值。

        如果希望返回到此输出参数的JDBC类型特定于该特定数据库,则sqlType应为java.sql.Types.OTHER 方法getObject(int)检索该值。

        参数
        parameterName - 参数的名称
        sqlType - 由java.sql.Types定义的JDBC类型代码。 如果参数为JDBC类型NUMERICDECIMAL ,则应使用接受比例值的registerOutParameter版本。
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException -如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT数据类型和JDBC驱动程序不支持此数据类型,或者JDBC驱动程序不支持这种方法
        从以下版本开始:
        1.4
        另请参见:
        Types
      • registerOutParameter

        void registerOutParameter​(String parameterName,
                                  int sqlType,
                                  int scale)
                           throws SQLException
        将名为parameterName的参数注册为JDBC类型sqlType 所有OUT参数必须在执行存储过程之前进行注册。

        对于OUT参数,由sqlType指定的JDBC类型决定了在get方法中必须使用的Java类型,以读取该参数的值。

        这个版本registerOutParameter当参数是JDBC类型应使用NUMERICDECIMAL

        参数
        parameterName - 参数的名称
        sqlType - 由 java.sql.Types定义的SQL类型代码。
        scale - 小数点右侧所需的数字位数。 它必须大于或等于零。
        异常
        SQLException 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException -如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT数据类型和JDBC驱动程序不支持此数据类型,或者JDBC驱动程序不支持这种方法
        从以下版本开始:
        1.4
        另请参见:
        Types
      • registerOutParameter

        void registerOutParameter​(String parameterName,
                                  int sqlType,
                                  String typeName)
                           throws SQLException
        注册指定的输出参数。 此版本的方法registerOutParameter应用于用户名或REF输出参数。 用户命名类型的示例包括:STRUCT,DISTINCT,JAVA_OBJECT和命名的数组类型。

        所有OUT参数必须在执行存储过程之前进行注册。

        对于用户命名的参数,还应该给出参数的完全限定的SQL类型名称,而REF参数要求给定引用类型的完全限定类型名称。 不需要类型代码和类型名称信息的JDBC驱动程序可能会忽略它。 然而,为了便于携带,应用程序应始终为用户命名和REF参数提供这些值。 尽管它是用于用户命名的和REF参数的,但是该方法可以用于注册任何JDBC类型的参数。 如果该参数不具有用户名或REF类型,则将忽略typeName参数。

        注意:读取out参数的值时,必须使用Java类型XXX对应于参数的注册SQL类型的getXXX方法。

        参数
        parameterName - 参数的名称
        sqlType - 一个值从Types
        typeName - SQL结构化类型的全限定名称
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException -如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT数据类型和JDBC驱动程序不支持此数据类型,或者JDBC驱动程序不支持这种方法
        从以下版本开始:
        1.4
        另请参见:
        Types
      • getURL

        URL getURL​(int parameterIndex)
            throws SQLException
        java.net.URL对象的形式获取指定的JDBC DATALINK参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,...
        结果
        一个 java.net.URL对象,表示用作指定参数的JDBC DATALINK
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误,则在关闭的CallableStatement上调用此方法,或者如果返回的URL不是Java平台上的有效URL
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setURL(java.lang.String, java.net.URL)
      • setURL

        void setURL​(String parameterName,
                    URL val)
             throws SQLException
        将指定的参数设置为给定的java.net.URL对象。 当驱动程序将其发送到数据库时将其转换为SQL DATALINK值。
        参数
        parameterName - 参数的名称
        val - 参数值
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误; 此方法在关闭的CallableStatement或网址格式CallableStatement调用
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getURL(int)
      • setNull

        void setNull​(String parameterName,
                     int sqlType)
              throws SQLException
        将指定的参数设置为SQL NULL

        注意:您必须指定参数的SQL类型。

        参数
        parameterName - 参数的名称
        sqlType - 在 java.sql.Types定义的SQL类型代码
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
      • setBoolean

        void setBoolean​(String parameterName,
                        boolean x)
                 throws SQLException
        将指定的参数设置为给定的Java boolean值。 当驱动程序将其发送到数据库时将其转换为SQL BITBOOLEAN值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getBoolean(int)
      • setByte

        void setByte​(String parameterName,
                     byte x)
              throws SQLException
        将指定的参数设置为给定的Java byte值。 当驱动程序将其发送到数据库时,将其转换为SQL TINYINT值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getByte(int)
      • setShort

        void setShort​(String parameterName,
                      short x)
               throws SQLException
        将指定的参数设置为给定的Java short值。 当驱动程序将其发送到数据库时,将其转换为SQL SMALLINT值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName不对应于一个命名的参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getShort(int)
      • setInt

        void setInt​(String parameterName,
                    int x)
             throws SQLException
        将指定的参数设置为给定的Java int值。 当驱动程序将其发送到数据库时将其转换为SQL INTEGER值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getInt(int)
      • setLong

        void setLong​(String parameterName,
                     long x)
              throws SQLException
        将指定的参数设置为给定的Java long值。 当驱动程序将其发送到数据库时,将其转换为SQL BIGINT值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getLong(int)
      • setFloat

        void setFloat​(String parameterName,
                      float x)
               throws SQLException
        将指定的参数设置为给定的Java float值。 当驱动程序将其发送到数据库时将其转换为SQL FLOAT值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getFloat(int)
      • setDouble

        void setDouble​(String parameterName,
                       double x)
                throws SQLException
        将指定的参数设置为给定的Java double值。 当驱动程序将其发送到数据库时,将其转换为SQL DOUBLE值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getDouble(int)
      • setBigDecimal

        void setBigDecimal​(String parameterName,
                           BigDecimal x)
                    throws SQLException
        将指定的参数设置为给定的java.math.BigDecimal值。 当驱动程序将其发送到数据库时,将其转换为SQL NUMERIC值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getBigDecimal(int, int)
      • setString

        void setString​(String parameterName,
                       String x)
                throws SQLException
        将指定的参数设置为给定的Java String值。 驱动程序将其转换为SQL VARCHARLONGVARCHAR值(取决于相对于驱动程序对VARCHAR的限制的参数的大小),当它发送到数据库时。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getString(int)
      • setBytes

        void setBytes​(String parameterName,
                      byte[] x)
               throws SQLException
        将指定的参数设置为给定的Java字节数组。 驱动程序将其转换为SQL VARBINARYLONGVARBINARY (取决于相对于驱动程序对VARBINARY值的限制的参数的大小),当它发送到数据库时。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName不对应于一个命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getBytes(int)
      • setDate

        void setDate​(String parameterName,
                     Date x)
              throws SQLException
        使用运行应用程序的虚拟机的默认时区将指定的参数设置为给定的java.sql.Date值。 当驱动程序将其发送到数据库时,将其转换为SQL DATE值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getDate(int)
      • setTime

        void setTime​(String parameterName,
                     Time x)
              throws SQLException
        将指定的参数设置为给定的java.sql.Time值。 当驱动程序将其发送到数据库时,将其转换为SQL TIME值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getTime(int)
      • setTimestamp

        void setTimestamp​(String parameterName,
                          Timestamp x)
                   throws SQLException
        将指定的参数设置为给定的java.sql.Timestamp值。 当驱动程序将其发送到数据库时,将其转换为SQL TIMESTAMP值。
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getTimestamp(int)
      • setAsciiStream

        void setAsciiStream​(String parameterName,
                            InputStream x,
                            int length)
                     throws SQLException
        将指定的参数设置为给定的输入流,它将具有指定的字节数。 当输入非常大的ASCII值到LONGVARCHAR参数时,通过java.io.InputStream发送它可能更实用。 将根据需要从流中读取数据,直到达到文件结尾。 JDBC驱动程序将从ASCII到数据库字符格式进行任何必要的转换。

        注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。

        参数
        parameterName - 参数的名称
        x - 包含ASCII参数值的Java输入流
        length - 流中的字节数
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
      • setBinaryStream

        void setBinaryStream​(String parameterName,
                             InputStream x,
                             int length)
                      throws SQLException
        将指定的参数设置为给定的输入流,它将具有指定的字节数。 当一个非常大的二进制值输入到一个LONGVARBINARY参数时,通过一个java.io.InputStream对象发送它可能更实用。 数据将从流中读取,直到达到文件结尾。

        注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。

        参数
        parameterName - 参数的名称
        x - 包含二进制参数值的java输入流
        length - 流中的字节数
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
      • setObject

        void setObject​(String parameterName,
                       Object x,
                       int targetSqlType,
                       int scale)
                throws SQLException
        使用给定对象设置指定参数的值。

        在发送给数据库之前,给定的Java对象将被转换为给定的targetSqlType。 如果对象具有自定义映射(实现接口SQLData的类),则JDBC驱动程序应调用方法SQLData.writeSQL将其写入SQL数据流。 如果,在另一方面,对象是实现一类RefBlobClobNClobStructjava.net.URL ,或Array ,驾驶员应把它传递给数据库作为相应SQL类型的值。

        请注意,此方法可能用于传递特定于数据库的抽象数据类型。

        参数
        parameterName - 参数的名称
        x - 包含输入参数值的对象
        targetSqlType - 要发送到数据库的SQL类型(在java.sql.Types中定义)。 比例参数可能进一步限定此类型。
        scale - 对于java.sql.Types.DECIMAL或java.sql.Types.NUMERIC类型,这是小数点后的位数。 对于所有其他类型,此值将被忽略。
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的targetSqlType
        从以下版本开始:
        1.4
        另请参见:
        TypesgetObject(int)
      • setObject

        void setObject​(String parameterName,
                       Object x)
                throws SQLException
        使用给定对象设置指定参数的值。

        JDBC规范规定了从Java Object类型到SQL类型的标准映射。 在发送给数据库之前,给定的参数将被转换为相应的SQL类型。

        请注意,该方法可以用于通过使用特定于驱动程序的Java类型来传递特定于数据库的抽象数据类型。 如果对象是实现接口SQLData的类,则JDBC驱动程序应该调用方法SQLData.writeSQL将其写入SQL数据流。 如果,在另一方面,对象是实现一类RefBlobClobNClobStructjava.net.URL ,或Array ,驾驶员应把它传递给数据库作为相应SQL类型的值。

        如果存在歧义,则此方法会引发异常,例如,如果对象是实现多个以上命名的接口的类。

        注意:并非所有数据库都允许将非类型的Null发送到后端。 为了最大可移植性,应使用setNullsetObject(String parameterName, Object x, int sqlType)方法,而不是setObject(String parameterName, Object x)

        参数
        parameterName - 参数的名称
        x - 包含输入参数值的对象
        异常
        SQLException - 如果parameterName不对应于一个命名参数; 如果发生数据库访问错误,此方法在关闭的CallableStatement上调用,或者如果给定的Object参数不明确
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getObject(int)
      • setCharacterStream

        void setCharacterStream​(String parameterName,
                                Reader reader,
                                int length)
                         throws SQLException
        将指定的参数设置为给定的Reader对象,这是给定的长度的字符数。 当将非常大的UNICODE值输入到LONGVARCHAR参数时,通过java.io.Reader对象发送它可能更实用。 数据将从流中读取,直到达到文件结尾。 JDBC驱动程序将从UNICODE到数据库字符格式进行任何必要的转换。

        注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。

        参数
        parameterName - 参数的名称
        reader - 包含用作指定参数的UNICODE数据的 java.io.Reader对象
        length - 流中的字符数
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
      • setDate

        void setDate​(String parameterName,
                     Date x,
                     Calendar cal)
              throws SQLException
        使用给定的Calendar对象将指定的参数设置为给定的java.sql.Date值。 驱动程序使用Calendar对象来构造一个SQL DATE值,然后驱动程序将其发送到数据库。 使用aa Calendar对象,驱动程序可以计算考虑到自定义时区的日期。 如果未指定Calendar对象,则驱动程序将使用默认时区,即运行应用程序的虚拟机的时区。
        参数
        parameterName - 参数的名称
        x - 参数值
        cal - 驱动程序将用于构建日期的 Calendar对象
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getDate(int)
      • setTime

        void setTime​(String parameterName,
                     Time x,
                     Calendar cal)
              throws SQLException
        使用给定的Calendar对象将指定的参数设置为给定的java.sql.Time值。 驱动程序使用Calendar对象来构造一个SQL TIME值,然后驱动程序将其发送到数据库。 使用aa Calendar对象,驱动程序可以计算考虑到自定义时区的时间。 如果没有指定Calendar对象,则驱动程序使用默认时区,即运行应用程序的虚拟机的时区。
        参数
        parameterName - 参数的名称
        x - 参数值
        cal - 驱动程序将用于构建时间的 Calendar对象
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getTime(int)
      • setTimestamp

        void setTimestamp​(String parameterName,
                          Timestamp x,
                          Calendar cal)
                   throws SQLException
        使用给定的Calendar对象将指定的参数设置为给定的java.sql.Timestamp值。 驱动程序使用Calendar对象来构造一个SQL TIMESTAMP值,然后驱动程序将其发送到数据库。 使用aa Calendar对象,驱动程序可以计算考虑到自定义时区的时间戳。 如果未指定Calendar对象,则驱动程序使用默认时区,即运行应用程序的虚拟机的时区。
        参数
        parameterName - 参数的名称
        x - 参数值
        cal - 驱动程序将用于构建时间戳的 Calendar对象
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        getTimestamp(int)
      • setNull

        void setNull​(String parameterName,
                     int sqlType,
                     String typeName)
              throws SQLException
        将指定的参数设置为SQL NULL 此版本的方法setNull应用于用户定义的类型和REF类型参数。 用户定义类型的示例包括:STRUCT,DISTINCT,JAVA_OBJECT和命名的数组类型。

        注意:为了便于携带,当指定NULL用户定义或REF参数时,应用程序必须给出SQL类型代码和完全限定的SQL类型名称。 在用户定义类型的情况下,名称是参数本身的类型名称。 对于REF参数,名称是引用类型的类型名称。

        尽管它是用于用户定义的和参数的参数,但是该方法可以用于设置任何JDBC类型的空值参数。 如果参数没有用户定义或REF类型,则给定的typeName将被忽略。

        参数
        parameterName - 参数的名称
        sqlType - 一个值从 java.sql.Types
        typeName - SQL用户定义类型的全限定名称; 如果参数不是用户定义的类型或SQL REF值,则忽略该值
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
      • getString

        String getString​(String parameterName)
                  throws SQLException
        检索JDBC的价值CHARVARCHAR ,或LONGVARCHAR参数为String的Java编程语言。

        对于固定长度类型的JDBC CHAR ,返回的String对象具有与数据库中SQL CHAR值相同的值,包括数据库添加的任何填充。

        参数
        parameterName - 参数的名称
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setString(java.lang.String, java.lang.String)
      • getBoolean

        boolean getBoolean​(String parameterName)
                    throws SQLException
        以Java编程语言中的 boolean JDBC BITBOOLEAN参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值。 如果值为SQL NULL ,则结果为false
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setBoolean(java.lang.String, boolean)
      • getByte

        byte getByte​(String parameterName)
              throws SQLException
        以Java编程语言中的 byte JDBC TINYINT参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值。 如果值为SQL NULL ,则结果为0
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setByte(java.lang.String, byte)
      • getShort

        short getShort​(String parameterName)
                throws SQLException
        以Java编程语言中的 short JDBC SMALLINT参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值。 如果值为SQL NULL ,则结果为0
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setShort(java.lang.String, short)
      • getInt

        int getInt​(String parameterName)
            throws SQLException
        以Java编程语言中的 int JDBC INTEGER参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值。 如果值为SQL NULL ,则结果为0
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setInt(java.lang.String, int)
      • getLong

        long getLong​(String parameterName)
              throws SQLException
        以Java编程语言中的 long JDBC BIGINT参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值。 如果值为SQL NULL ,则结果为0
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setLong(java.lang.String, long)
      • getFloat

        float getFloat​(String parameterName)
                throws SQLException
        以Java编程语言中的 float JDBC FLOAT参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值。 如果值为SQL NULL ,则结果为0
        异常
        SQLException - 如果parameterName不对应于一个命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setFloat(java.lang.String, float)
      • getDouble

        double getDouble​(String parameterName)
                  throws SQLException
        以Java编程语言中的 double JDBC DOUBLE参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值。 如果值为SQL NULL ,则结果为0
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setDouble(java.lang.String, double)
      • getBytes

        byte[] getBytes​(String parameterName)
                 throws SQLException
        以Java编程语言中的 byte数组的形式 byte JDBC BINARYVARBINARY参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setBytes(java.lang.String, byte[])
      • getDate

        Date getDate​(String parameterName)
              throws SQLException
        检索作为 java.sql.Date对象的JDBC DATE参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterName与命名参数不对应, 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setDate(java.lang.String, java.sql.Date)
      • getTime

        Time getTime​(String parameterName)
              throws SQLException
        检索作为 java.sql.Time对象的JDBC TIME参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setTime(java.lang.String, java.sql.Time)
      • getObject

        Object getObject​(String parameterName)
                  throws SQLException
        以Java编程语言中的Object参数的值。 如果该值为SQL NULL ,则驱动程序返回一个Java null

        此方法返回一个Java对象,其类型对应于使用方法registerOutParameter为该参数注册的JDBC类型。 通过将目标JDBC类型注册为java.sql.Types.OTHER ,此方法可用于读取数据库特定的抽象数据类型。

        参数
        parameterName - 参数的名称
        结果
        A java.lang.Object保存OUT参数值。
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        TypessetObject(java.lang.String, java.lang.Object, int, int)
      • getBigDecimal

        BigDecimal getBigDecimal​(String parameterName)
                          throws SQLException
        检索JDBC NUMERIC参数的值作为 java.math.BigDecimal对象,该值与小数点右边的数字一样多。
        参数
        parameterName - 参数的名称
        结果
        参数值全精度。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setBigDecimal(java.lang.String, java.math.BigDecimal)
      • getObject

        Object getObject​(String parameterName,
                         Map<String,Class<?>> map)
                  throws SQLException
        返回表示OUT参数值parameterName的对象,并使用map作为参数值的自定义映射。

        此方法返回一个Java对象,其类型对应于使用方法registerOutParameter为该参数注册的JDBC类型。 通过将目标JDBC类型注册为java.sql.Types.OTHER ,此方法可用于读取数据库特定的抽象数据类型。

        参数
        parameterName - 参数的名称
        map - 从SQL类型名称到Java类的映射
        结果
        一个 java.lang.Object持有OUT参数值
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setObject(java.lang.String, java.lang.Object, int, int)
      • getRef

        Ref getRef​(String parameterName)
            throws SQLException
        以Java编程语言中的一个Ref对象获取JDBC REF(<structured-type>)参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值为Java编程语言中的一个Ref对象。 如果值为SQL NULL ,则返回值null
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
      • getBlob

        Blob getBlob​(String parameterName)
              throws SQLException
        以Java编程语言的形式获取 JDBC BLOB参数的值作为Blob对象。
        参数
        parameterName - 参数的名称
        结果
        参数值为Java编程语言中的一个Blob对象。 如果值为SQL NULL ,则返回值null
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
      • getClob

        Clob getClob​(String parameterName)
              throws SQLException
        以Java编程语言中的 java.sql.Clob对象获取JDBC CLOB参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值为Java编程语言中的一个Clob对象。 如果值为SQL NULL ,则返回值null
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
      • getArray

        Array getArray​(String parameterName)
                throws SQLException
        以Java编程语言中的Array对象获取JDBC ARRAY参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值为Java编程语言中的一个Array对象。 如果值为SQL NULL ,则返回值null
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
      • getDate

        Date getDate​(String parameterName,
                     Calendar cal)
              throws SQLException
        检索JDBC DATE参数的值作为java.sql.Date对象,使用给定的Calendar对象构造日期。 使用Calendar对象,驱动程序可以计算考虑到自定义时区和区域设置的日期。 如果未指定Calendar对象,则驱动程序将使用默认的时区和区域设置。
        参数
        parameterName - 参数的名称
        cal - 驱动程序将用于构建日期的 Calendar对象
        结果
        参数值。 如果值为SQL NULL ,结果为null
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setDate(java.lang.String, java.sql.Date)
      • getTime

        Time getTime​(String parameterName,
                     Calendar cal)
              throws SQLException
        检索JDBC TIME参数的值作为java.sql.Time对象,使用给定的Calendar对象构建时间。 使用Calendar对象,驱动程序可以计算考虑到自定义时区和区域设置的时间。 如果未指定Calendar对象,则驱动程序将使用默认的时区和区域设置。
        参数
        parameterName - 参数的名称
        cal - 驱动程序将用于构建时间的 Calendar对象
        结果
        参数值 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setTime(java.lang.String, java.sql.Time)
      • getTimestamp

        Timestamp getTimestamp​(String parameterName,
                               Calendar cal)
                        throws SQLException
        检索JDBC TIMESTAMP参数的值作为java.sql.Timestamp对象,使用给定的Calendar对象构造Timestamp对象。 使用Calendar对象,驱动程序可以计算考虑到自定义时区和区域设置的时间戳。 如果未指定Calendar对象,则驱动程序将使用默认的时区和区域设置。
        参数
        parameterName - 参数的名称
        cal - 驱动程序将用于构建时间戳的 Calendar对象
        结果
        参数值。 如果值为SQL NULL ,则结果为null
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setTimestamp(java.lang.String, java.sql.Timestamp)
      • getURL

        URL getURL​(String parameterName)
            throws SQLException
        java.net.URL对象的形式 java.net.URL JDBC DATALINK参数的值。
        参数
        parameterName - 参数的名称
        结果
        参数值为Java编程语言中的一个java.net.URL对象。 如果值为SQL NULL ,则返回值null
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误,此方法在关闭的CallableStatementCallableStatement ,或者如果URL出现问题
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.4
        另请参见:
        setURL(java.lang.String, java.net.URL)
      • getRowId

        RowId getRowId​(int parameterIndex)
                throws SQLException
        java.sql.RowId对象的形式获取指定的JDBC ROWID参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,...
        结果
        将表示JDBC ROWID值的RowId对象用作指定参数。 如果参数包含SQL NULL ,则返回一个null值。
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • getRowId

        RowId getRowId​(String parameterName)
                throws SQLException
        java.sql.RowId对象的形式获取指定的JDBC ROWID参数的值。
        参数
        parameterName - 参数的名称
        结果
        将表示JDBC ROWID值的RowId对象用作指定参数。 如果参数包含SQL NULL ,则返回一个null值。
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setRowId

        void setRowId​(String parameterName,
                      RowId x)
               throws SQLException
        将指定的参数设置为给定的java.sql.RowId对象。 当驱动程序将其发送到数据库时,将其转换为SQL ROWID
        参数
        parameterName - 参数的名称
        x - 参数值
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setNString

        void setNString​(String parameterName,
                        String value)
                 throws SQLException
        将指定的参数设置为给定的String对象。 驱动程序将其转换为SQL NCHARNVARCHARLONGNVARCHAR
        参数
        parameterName - 要设置的参数的名称
        value - 参数值
        异常
        SQLException - 如果parameterName不对应于named参数; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setNCharacterStream

        void setNCharacterStream​(String parameterName,
                                 Reader value,
                                 long length)
                          throws SQLException
        将指定的参数设置为Reader对象。 Reader读取数据,直到达到文件结尾。 驱动程序必须从Java字符格式转换为数据库中的国家字符集。
        参数
        parameterName - 要设置的参数的名称
        value - 参数值
        length - 参数数据中的字符数。
        异常
        SQLException - 如果parameterName不对应于named参数; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setNClob

        void setNClob​(String parameterName,
                      NClob value)
               throws SQLException
        将指定的参数设置为java.sql.NClob对象。 该对象实现了java.sql.NClob接口。 这个NClob对象映射到一个SQL NCLOB
        参数
        parameterName - 要设置的参数的名称
        value - 参数值
        异常
        SQLException - 如果parameterName不对应于named参数; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setClob

        void setClob​(String parameterName,
                     Reader reader,
                     long length)
              throws SQLException
        将指定的参数设置为Reader对象。 reader必须包含由长度指定的字符数,否则在执行SQLException将生成CallableStatement 该方法与setCharacterStream (int, Reader, int)方法不同,因为它通知驱动程序参数值应该作为CLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要额外的工作才能确定参数数据是否应作为LONGVARCHARCLOB发送到服务器
        参数
        parameterName - 要设置的参数的名称
        reader - 包含用于设置参数值的数据的对象。
        length - 参数数据中的字符数。
        异常
        SQLException - 如果parameterName不对应于named参数; 如果指定的长度小于零; 发生数据库访问错误,或者在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setBlob

        void setBlob​(String parameterName,
                     InputStream inputStream,
                     long length)
              throws SQLException
        将指定的参数设置为InputStream对象。 Inputstream必须包含由长度指定的字符数,否则当执行SQLException将生成CallableStatement 该方法与setBinaryStream (int, InputStream, int)方法不同,因为它通知驱动程序参数值应作为BLOB发送到服务器。 当使用setBinaryStream方法时,驱动程序可能需要执行额外的工作才能确定是否应将参数数据作为LONGVARBINARYBLOB发送到服务器
        参数
        parameterName - 要设置的参数的名称是2,...
        inputStream - 包含用于设置参数值的数据的对象。
        length - 参数数据中的字节数。
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果指定的长度小于零; 如果InputStream中的字节数与指定长度不匹配; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setNClob

        void setNClob​(String parameterName,
                      Reader reader,
                      long length)
               throws SQLException
        将指定的参数设置为Reader对象。 reader必须包含由长度指定的字符数,否则当执行SQLException将生成CallableStatement 该方法与setCharacterStream (int, Reader, int)方法不同,因为它通知驱动程序参数值应作为NCLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要额外的工作才能确定参数数据是否应作为LONGNVARCHARNCLOB发送到服务器
        参数
        parameterName - 要设置的参数的名称
        reader - 包含用于设置参数值的数据的对象。
        length - 参数数据中的字符数。
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果指定的长度小于零; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • getNClob

        NClob getNClob​(int parameterIndex)
                throws SQLException
        以Java编程语言的形式获取指定的JDBC NCLOB参数的值作为 java.sql.NClob对象。
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        结果
        该参数值作为Java编程语言中的一个NClob对象。 如果值为SQL NULL ,则返回值null
        异常
        SQLException - 如果parameterIndex无效; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • getNClob

        NClob getNClob​(String parameterName)
                throws SQLException
        以Java编程语言的形式 java.sql.NClob JDBC NCLOB参数的值作为 java.sql.NClob对象。
        参数
        parameterName - 参数的名称
        结果
        参数值为Java编程语言中的一个NClob对象。 如果值为SQL NULL ,则返回值null
        异常
        SQLException - 如果parameterName不对应于named参数; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setSQLXML

        void setSQLXML​(String parameterName,
                       SQLXML xmlObject)
                throws SQLException
        将指定的参数设置为给定的java.sql.SQLXML对象。 当驱动程序将其发送到数据库时,将其转换为SQL XML值。
        参数
        parameterName - 参数的名称
        xmlObject - 一个 SQLXML对象,绘制一个 SQL XML
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误; 这个方法被称为在关闭CallableStatementjava.xml.transform.ResultWriterOutputStream为尚未关闭SQLXML对象
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • getSQLXML

        SQLXML getSQLXML​(int parameterIndex)
                  throws SQLException
        以Java编程语言中的 java.sql.SQLXML对象获取指定的 SQL XML参数的值。
        参数
        parameterIndex - 第一个参数的索引为1,第二个为2,...
        结果
        一个映射 SQL XML值的 SQLXML对象
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • getSQLXML

        SQLXML getSQLXML​(String parameterName)
                  throws SQLException
        以Java编程语言中的 java.sql.SQLXML对象的形式获取指定的 SQL XML参数的值。
        参数
        parameterName - 参数的名称
        结果
        一个映射 SQL XML值的 SQLXML对象
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • getNString

        String getNString​(int parameterIndex)
                   throws SQLException
        检索指定的值NCHARNVARCHAR或者LONGNVARCHAR参数为String的Java编程语言。

        对于固定长度类型的JDBC NCHAR ,返回的String对象与数据库中的SQL NCHAR值完全相同,包括数据库添加的任何填充。

        参数
        parameterIndex - 第一个参数的索引为1,第二个为2,...
        结果
        一个 String对象映射的 NCHARNVARCHARLONGNVARCHAR
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
        另请参见:
        setNString(java.lang.String, java.lang.String)
      • getNString

        String getNString​(String parameterName)
                   throws SQLException
        检索指定的值NCHARNVARCHAR或者LONGNVARCHAR参数为String的Java编程语言。

        对于固定长度类型的JDBC NCHAR ,返回的String对象具有与数据库中具有的SQL NCHAR值完全相同的值,包括数据库添加的任何填充。

        参数
        parameterName - 参数的名称
        结果
        一个 String对象映射的 NCHARNVARCHARLONGNVARCHAR
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
        另请参见:
        setNString(java.lang.String, java.lang.String)
      • getNCharacterStream

        Reader getNCharacterStream​(int parameterIndex)
                            throws SQLException
        以Java编程语言的形式获取指定参数的值作为java.io.Reader对象。 访问时,它适用于使用NCHARNVARCHARLONGNVARCHAR参数。
        参数
        parameterIndex - 第一个参数是1,第二个是2,...
        结果
        一个包含参数值的java.io.Reader对象; 如果值为SQL NULL ,则返回的值为Java编程语言中的null
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • getNCharacterStream

        Reader getNCharacterStream​(String parameterName)
                            throws SQLException
        以Java编程语言的形式获取指定参数的值作为java.io.Reader对象。 访问时,它适用于使用NCHARNVARCHARLONGNVARCHAR参数。
        参数
        parameterName - 参数的名称
        结果
        一个包含参数值的java.io.Reader对象; 如果值为SQL NULL ,则返回的值为null ,在Java编程语言
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • getCharacterStream

        Reader getCharacterStream​(int parameterIndex)
                           throws SQLException
        以Java编程语言中的 java.io.Reader对象获取指定参数的值。
        参数
        parameterIndex - 第一个参数是1,第二个是2,...
        结果
        一个包含参数值的java.io.Reader对象; 如果值为SQL NULL ,则返回的值为null (在Java编程语言中)。
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        从以下版本开始:
        1.6
      • getCharacterStream

        Reader getCharacterStream​(String parameterName)
                           throws SQLException
        以Java编程语言的形式获取指定参数的值作为 java.io.Reader对象。
        参数
        parameterName - 参数的名称
        结果
        一个包含参数值的java.io.Reader对象; 如果值为SQL NULL ,则返回的值为Java编程语言中的null
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setBlob

        void setBlob​(String parameterName,
                     Blob x)
              throws SQLException
        将指定的参数设置为给定的java.sql.Blob对象。 当驱动程序将其发送到数据库时,将其转换为SQL BLOB值。
        参数
        parameterName - 参数的名称
        x - 一个 Blob对象,映射SQL BLOB
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setClob

        void setClob​(String parameterName,
                     Clob x)
              throws SQLException
        将指定的参数设置为给定的java.sql.Clob对象。 当驱动程序将其发送到数据库时,将其转换为SQL CLOB值。
        参数
        parameterName - 参数的名称
        x - 一个映射SQL CLOB值的 Clob对象
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setAsciiStream

        void setAsciiStream​(String parameterName,
                            InputStream x,
                            long length)
                     throws SQLException
        将指定的参数设置为给定的输入流,它将具有指定的字节数。 当输入非常大的ASCII值到LONGVARCHAR参数时,通过java.io.InputStream发送它可能更实用。 将根据需要从流中读取数据,直到达到文件结尾。 JDBC驱动程序将从ASCII到数据库字符格式进行任何必要的转换。

        注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。

        参数
        parameterName - 参数的名称
        x - 包含ASCII参数值的Java输入流
        length - 流中的字节数
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setBinaryStream

        void setBinaryStream​(String parameterName,
                             InputStream x,
                             long length)
                      throws SQLException
        将指定的参数设置为给定的输入流,它将具有指定的字节数。 当一个非常大的二进制值输入到一个LONGVARBINARY参数时,通过一个java.io.InputStream对象发送它可能比较实用。 数据将从流中读取,直到达到文件结尾。

        注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。

        参数
        parameterName - 参数的名称
        x - 包含二进制参数值的java输入流
        length - 流中的字节数
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setCharacterStream

        void setCharacterStream​(String parameterName,
                                Reader reader,
                                long length)
                         throws SQLException
        将指定的参数设置为给定的Reader对象,这是给定的长度的字符数。 当将非常大的UNICODE值输入到LONGVARCHAR参数时,通过java.io.Reader对象发送它可能更实用。 数据将从流中读取,直到达到文件结尾。 JDBC驱动程序将从UNICODE到数据库字符格式进行任何必要的转换。

        注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。

        参数
        parameterName - 参数的名称
        reader - 包含用作指定参数的UNICODE数据的 java.io.Reader对象
        length - 流中的字符数
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setAsciiStream

        void setAsciiStream​(String parameterName,
                            InputStream x)
                     throws SQLException
        将指定的参数设置为给定的输入流。 当输入非常大的ASCII值到LONGVARCHAR参数时,通过java.io.InputStream发送它可能更实用。 将根据需要从流中读取数据,直到达到文件结尾。 JDBC驱动程序将从ASCII到数据库字符格式进行任何必要的转换。

        注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。

        注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本的setAsciiStream是否更有效。

        参数
        parameterName - 参数的名称
        x - 包含ASCII参数值的Java输入流
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setBinaryStream

        void setBinaryStream​(String parameterName,
                             InputStream x)
                      throws SQLException
        将指定的参数设置为给定的输入流。 当一个非常大的二进制值输入到一个LONGVARBINARY参数时,通过一个java.io.InputStream对象发送它可能会比较实用。 数据将从流中读取,直到达到文件结尾。

        注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。

        注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本的setBinaryStream是否更有效。

        参数
        parameterName - 参数的名称
        x - 包含二进制参数值的java输入流
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setCharacterStream

        void setCharacterStream​(String parameterName,
                                Reader reader)
                         throws SQLException
        将指定的参数设置为给定的Reader对象。 当将非常大的UNICODE值输入到LONGVARCHAR参数时,通过java.io.Reader对象发送它可能更实用。 数据将从流中读取,直到达到文件结尾。 JDBC驱动程序将从UNICODE到数据库字符格式进行任何必要的转换。

        注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。

        注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本的setCharacterStream可能会更有效。

        参数
        parameterName - 参数的名称
        reader - 包含Unicode数据的 java.io.Reader对象
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setNCharacterStream

        void setNCharacterStream​(String parameterName,
                                 Reader value)
                          throws SQLException
        将指定的参数设置为Reader对象。 Reader读取数据,直到达到文件结尾。 驱动程序必须从Java字符格式转换为数据库中的国家字符集。

        注意:此流对象可以是标准Java流对象,也可以是实现标准接口的自己的子类。

        注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本的setNCharacterStream可能会更有效。

        参数
        parameterName - 参数的名称
        value - 参数值
        异常
        SQLException - 如果parameterName不对应于named参数; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误; 或者这个方法在关闭的CallableStatement
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setClob

        void setClob​(String parameterName,
                     Reader reader)
              throws SQLException
        将指定的参数设置为Reader对象。 该方法与setCharacterStream (int, Reader)方法不同,因为它通知驱动程序参数值应作为CLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要额外的工作才能确定参数数据是否应作为LONGVARCHARCLOB发送到服务器

        注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本的setClob可能会更有效。

        参数
        parameterName - 参数的名称
        reader - 包含将参数值设置为的数据的对象。
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setBlob

        void setBlob​(String parameterName,
                     InputStream inputStream)
              throws SQLException
        将指定的参数设置为InputStream对象。 该方法与setBinaryStream (int, InputStream)方法不同,因为它通知驱动程序参数值应作为BLOB发送到服务器。 当使用setBinaryStream方法时,驱动程序可能需要进行额外的工作来确定参数数据是否应作为LONGVARBINARYBLOB发送到服务器

        注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本的setBlob可能会更有效。

        参数
        parameterName - 参数的名称
        inputStream - 包含要将参数值设置为的数据的对象。
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • setNClob

        void setNClob​(String parameterName,
                      Reader reader)
               throws SQLException
        将指定的参数设置为Reader对象。 该方法与setCharacterStream (int, Reader)方法不同,因为它通知驱动程序参数值应作为NCLOB发送到服务器。 当使用setCharacterStream方法时,驱动程序可能需要额外的工作才能确定参数数据是否应作为LONGNVARCHARNCLOB发送到服务器

        注意:请参阅您的JDBC驱动程序文档,以确定使用需要长度参数的版本的setNClob可能会更有效。

        参数
        parameterName - 参数的名称
        reader - 包含用于设置参数值的数据的对象。
        异常
        SQLException - 如果parameterName不对应于命名参数; 如果司机不支持国家字符集; 如果驱动程序可以检测到可能发生数据转换错误; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.6
      • getObject

        <T> T getObject​(int parameterIndex,
                        Class<T> type)
                 throws SQLException
        返回一个表示OUT参数值parameterIndex的对象,并且如果支持转换,则将从参数的SQL类型转换为所请求的Java数据类型。 如果不支持转换或为类型指定为null,则抛出SQLException

        至少,实现必须支持附录B表B-3中定义的转换,并将适当的用户定义的SQL类型转换为实现SQLDataStruct的Java类型。 可以支持额外的转换,并定义供应商。

        参数类型
        T - 由此Class对象建模的类的类型
        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        type - 表示将指定参数转换为的Java数据类型的类。
        结果
        一个持有OUT参数值的 type的实例
        异常
        SQLException - 如果不支持转换,type为null或发生另一个错误。 异常的getCause()方法可能会提供更详细的异常,例如,如果发生转换错误
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.7
      • getObject

        <T> T getObject​(String parameterName,
                        Class<T> type)
                 throws SQLException
        返回表示OUT参数parameterName的值的对象,并将转换为参数的SQL类型为所需的Java数据类型,如果支持转换。 如果转换不受支持或为该类型指定为空,则抛出SQLException

        至少,实现必须支持附录B表B-3中定义的转换,并将适当的用户定义的SQL类型转换为实现SQLDataStruct的Java类型。 可以支持额外的转换,并定义供应商。

        参数类型
        T - 由此Class对象建模的类的类型
        参数
        parameterName - 参数的名称
        type - 表示将指定参数转换为的Java数据类型的类。
        结果
        一个持有OUT参数值的 type的实例
        异常
        SQLException - 如果不支持转换,type为null或发生另一个错误。 异常的getCause()方法可能会提供更详细的异常,例如,如果发生转换错误
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.7
      • setObject

        default void setObject​(String parameterName,
                               Object x,
                               SQLType targetSqlType,
                               int scaleOrLength)
                        throws SQLException
        使用给定对象设置指定参数的值。 如果第二个参数是一个InputStream则流必须包含scaleOrLength指定的字节数。 如果第二个参数是Reader那么读者必须包含scaleOrLength指定的字符数。 如果这些条件不正确,驱动程序将在执行准备好的语句时生成SQLException

        在发送给数据库之前,给定的Java对象将被转换为给定的targetSqlType。 如果对象具有自定义映射(实现接口SQLData的类),则JDBC驱动程序应调用方法SQLData.writeSQL将其写入SQL数据流。 如果,在另一方面,对象是实现一类RefBlobClobNClobStructjava.net.URL ,或Array ,驾驶员应把它传递给数据库作为相应SQL类型的值。

        请注意,此方法可能用于传递特定于数据库的抽象数据类型。

        默认实现将抛出SQLFeatureNotSupportedException

        参数
        parameterName - 参数的名称
        x - 包含输入参数值的对象
        targetSqlType - 要发送到数据库的SQL类型。 比例参数可能进一步限定此类型。
        scaleOrLength - 对于java.sql.JDBCType.DECIMALjava.sql.JDBCType.NUMERIC types ,这是小数点后的位数。 对于Java对象类型InputStreamReader ,这是流或读取器中数据的长度。 对于所有其他类型,此值将被忽略。
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法,或者如果x指定的Java对象是InputStream或Reader对象,并且scale参数的值小于零
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的targetSqlType
        从以下版本开始:
        1.8
        另请参见:
        JDBCTypeSQLType
      • registerOutParameter

        default void registerOutParameter​(int parameterIndex,
                                          SQLType sqlType)
                                   throws SQLException
        将序号parameterIndex的OUT参数注册到JDBC类型sqlType 所有OUT参数必须在执行存储过程之前进行注册。

        对于OUT参数,由sqlType指定的JDBC类型决定了在get方法中必须使用的Java类型,以读取该参数的值。

        如果希望返回到此输出参数的JDBC类型是特定于该特定数据库的,则sqlType可能为JDBCType.OTHER或JDBC驱动程序支持的SQLType 方法getObject(int)检索该值。

        默认实现将抛出SQLFeatureNotSupportedException

        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        sqlType - 由SQLType定义的JDBC类型代码用于注册OUT参数。 如果参数为JDBC类型JDBCType.NUMERICJDBCType.DECIMAL ,则应使用接受比例值的registerOutParameter版本。
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的sqlType
        从以下版本开始:
        1.8
        另请参见:
        JDBCTypeSQLType
      • registerOutParameter

        default void registerOutParameter​(int parameterIndex,
                                          SQLType sqlType,
                                          int scale)
                                   throws SQLException
        将序号parameterIndex的参数注册为JDBC类型sqlType 所有OUT参数必须在执行存储过程之前进行注册。

        对于OUT参数,由sqlType指定的JDBC类型决定了在get方法中必须使用的Java类型,以读取该参数的值。

        这个版本registerOutParameter当参数是JDBC类型应使用JDBCType.NUMERICJDBCType.DECIMAL

        默认实现将抛出SQLFeatureNotSupportedException

        参数
        parameterIndex - 第一个参数是1,第二个是2,依此类推
        sqlType - 由 SQLType定义的JDBC类型代码用于注册OUT参数。
        scale - 小数点右侧所需的数字位数。 它必须大于或等于零。
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的sqlType
        从以下版本开始:
        1.8
        另请参见:
        JDBCTypeSQLType
      • registerOutParameter

        default void registerOutParameter​(int parameterIndex,
                                          SQLType sqlType,
                                          String typeName)
                                   throws SQLException
        注册指定的输出参数。 此版本的方法registerOutParameter应用于用户定义或REF输出参数。 的用户定义类型的实例包括: STRUCTDISTINCTJAVA_OBJECT ,和指定数组类型。

        所有OUT参数必须在执行存储过程之前进行注册。

        对于用户定义的参数,还应该给出参数的完全限定的SQL类型名称,而REF参数要求给出引用类型的完全限定类型名称。 不需要类型代码和类型名称信息的JDBC驱动程序可能会忽略它。 然而,为了便于携带,应用程序应始终为用户定义的参数和REF参数提供这些值。 虽然它是用于用户定义和REF参数,但此方法可用于注册任何JDBC类型的参数。 如果该参数不具有用户定义或类型为REF ,则typeName参数将被忽略。

        注意:读取out参数的值时,必须使用Java类型对应于参数的注册SQL类型的getter方法。

        默认实现将抛出SQLFeatureNotSupportedException

        参数
        parameterIndex - 第一个参数是1,第二个是2,...
        sqlType - 由 SQLType定义的JDBC类型代码用于注册OUT参数。
        typeName - SQL结构化类型的全限定名称
        异常
        SQLException - 如果parameterIndex无效; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的sqlType
        从以下版本开始:
        1.8
        另请参见:
        JDBCTypeSQLType
      • registerOutParameter

        default void registerOutParameter​(String parameterName,
                                          SQLType sqlType)
                                   throws SQLException
        将名为parameterName的OUT参数注册到JDBC类型sqlType 所有OUT参数必须在执行存储过程之前进行注册。

        对于OUT参数,由sqlType指定的JDBC类型确定在get方法中必须使用的Java类型来读取该参数的值。

        如果预期要返回给此输出参数的JDBC类型是特定于该特定的数据库, sqlType应该是JDBCType.OTHERSQLType由该JDBC驱动程序支持..方法getObject(int)检索值。

        默认实现将抛出SQLFeatureNotSupportedException

        参数
        parameterName - 参数的名称
        sqlType - 由SQLType定义的JDBC类型代码用于注册OUT参数。 如果参数为JDBC类型JDBCType.NUMERICJDBCType.DECIMAL ,则应使用接受比例值的registerOutParameter版本。
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的sqlType或JDBC驱动程序不支持此方法
        从以下版本开始:
        1.8
        另请参见:
        JDBCTypeSQLType
      • registerOutParameter

        default void registerOutParameter​(String parameterName,
                                          SQLType sqlType,
                                          int scale)
                                   throws SQLException
        将名为parameterName的参数注册为JDBC类型sqlType 所有OUT参数必须在执行存储过程之前进行注册。

        对于OUT参数,由sqlType指定的JDBC类型决定了在get方法中必须使用的Java类型,以读取该参数的值。

        这个版本registerOutParameter当参数是JDBC类型应使用JDBCType.NUMERICJDBCType.DECIMAL

        默认实现将抛出SQLFeatureNotSupportedException

        参数
        parameterName - 参数的名称
        sqlType - 由 SQLType定义的JDBC类型代码用于注册OUT参数。
        scale - 小数点右侧所需的数字位数。 它必须大于或等于零。
        异常
        SQLException - 如果parameterName不对应于named参数; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的sqlType或JDBC驱动程序不支持此方法
        从以下版本开始:
        1.8
        另请参见:
        JDBCTypeSQLType
      • registerOutParameter

        default void registerOutParameter​(String parameterName,
                                          SQLType sqlType,
                                          String typeName)
                                   throws SQLException
        注册指定的输出参数。 此版本的方法registerOutParameter应用于用户名或REF输出参数。 用户命名类型的示例包括:STRUCT,DISTINCT,JAVA_OBJECT和命名的数组类型。

        所有OUT参数必须在执行存储过程之前进行注册。

        对于用户命名的参数,还应该给出参数的完全限定的SQL类型名称,而REF参数要求给定引用类型的完全限定类型名称。 不需要类型代码和类型名称信息的JDBC驱动程序可能会忽略它。 然而,为了便于携带,应用程序应始终为用户命名和REF参数提供这些值。 尽管它是用于用户命名的和REF参数的,但是该方法可以用于注册任何JDBC类型的参数。 如果该参数不具有用户名或REF类型,则将忽略typeName参数。

        注意:读取out参数的值时,必须使用Java类型XXX对应于参数的注册SQL类型的getXXX方法。

        默认实现将抛出SQLFeatureNotSupportedException

        参数
        parameterName - 参数的名称
        sqlType - 由 SQLType定义的JDBC类型代码用于注册OUT参数。
        typeName - SQL结构化类型的全限定名称
        异常
        SQLException - 如果parameterName与命名参数不对应; 如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持指定的sqlType或JDBC驱动程序不支持此方法
        从以下版本开始:
        1.8
        另请参见:
        JDBCTypeSQLType