模块 java.sql
 java.sql

接口 CallableStatement

所有父级接口:
AutoCloseable , PreparedStatement , Statement , Wrapper

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

使用从 PreparedStatement 继承的 set 方法设置 IN 参数值。所有 OUT 参数的类型必须在执行存储过程之前注册;它们的值在执行后通过此处提供的 get 方法检索。

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

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

自从:
1.1
参见:
  • 方法详情

    • registerOutParameter

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

      sqlType 为 OUT 参数指定的 JDBC 类型决定了 get 方法中必须使用的 Java 类型来读取该参数的值。

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

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

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

      sqlType 为 OUT 参数指定的 JDBC 类型决定了 get 方法中必须使用的 Java 类型来读取该参数的值。

      当参数为 JDBC 类型 NUMERICDECIMAL 时,应使用此版本的 registerOutParameter

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

      boolean wasNull() throws SQL异常
      检索读取的最后一个 OUT 参数是否具有 SQL NULL 的值。请注意,此方法应仅在调用 getter 方法后调用;否则,在确定它是否为 null 时没有任何值。
      返回:
      true 如果最后读取的参数是 SQL NULLfalse否则
      抛出:
      SQLException - 如果发生数据库访问错误或在关闭的 CallableStatement 上调用此方法
    • getString

      String  getString(int parameterIndex) throws SQL异常
      检索指定 JDBC CHARVARCHARLONGVARCHAR 参数的值作为 Java 编程语言中的 String

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

      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为 SQL NULL,则结果为 null
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getBoolean

      boolean getBoolean(int parameterIndex) throws SQL异常
      检索指定 JDBC BITBOOLEAN 参数的值作为 Java 编程语言中的 boolean
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为 SQL NULL,则结果为 false
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getByte

      byte getByte(int parameterIndex) throws SQL异常
      检索指定 JDBC TINYINT 参数的值作为 Java 编程语言中的 byte
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为 SQL NULL,则结果为 0
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getShort

      short getShort(int parameterIndex) throws SQL异常
      检索指定 JDBC SMALLINT 参数的值作为 Java 编程语言中的 short
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为 SQL NULL,则结果为 0
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getInt

      int getInt(int parameterIndex) throws SQL异常
      检索指定 JDBC INTEGER 参数的值作为 Java 编程语言中的 int
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为 SQL NULL,则结果为 0
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getLong

      long getLong(int parameterIndex) throws SQL异常
      检索指定 JDBC BIGINT 参数的值作为 Java 编程语言中的 long
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为 SQL NULL,则结果为 0
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getFloat

      float getFloat(int parameterIndex) throws SQL异常
      检索指定 JDBC FLOAT 参数的值作为 Java 编程语言中的 float
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为 SQL NULL,则结果为 0
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getDouble

      double getDouble(int parameterIndex) throws SQL异常
      检索指定 JDBC DOUBLE 参数的值作为 Java 编程语言中的 double
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为 SQL NULL,则结果为 0
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getBigDecimal

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

      byte[] getBytes(int parameterIndex) throws SQL异常
      检索指定 JDBC BINARYVARBINARY 参数的值作为 Java 编程语言中 byte 值的数组。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为 SQL NULL,则结果为 null
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getDate

      Date  getDate(int parameterIndex) throws SQL异常
      检索指定 JDBC DATE 参数的值作为 java.sql.Date 对象。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为 SQL NULL,则结果为 null
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getTime

      Time  getTime(int parameterIndex) throws SQL异常
      检索指定 JDBC TIME 参数的值作为 java.sql.Time 对象。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为 SQL NULL,则结果为 null
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getTimestamp

      Timestamp  getTimestamp(int parameterIndex) throws SQL异常
      检索指定 JDBC TIMESTAMP 参数的值作为 java.sql.Timestamp 对象。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      参数值。如果值为 SQL NULL,则结果为 null
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getObject

      Object  getObject(int parameterIndex) throws SQL异常
      检索指定参数的值作为 Java 编程语言中的 Object。如果该值为 SQL NULL,则驱动程序返回 Java null

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

      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      A java.lang.Object 保存 OUT 参数值
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      参见:
    • getBigDecimal

      BigDecimal  getBigDecimal(int parameterIndex) throws SQL异常
      检索指定 JDBC NUMERIC 参数的值作为 java.math.BigDecimal 对象,小数点右侧的位数与该值包含的位数一样多。
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      返回:
      全精度的参数值。如果值为 SQL NULL,则结果为 null
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      自从:
      1.2
      参见:
    • getObject

      Object  getObject(int parameterIndex, Map <String ,Class <?>> map) throws SQL异常
      返回表示 OUT 参数 parameterIndex 值的对象,并将 map 用于参数值的自定义映射。

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

      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      map - 从 SQL 类型名称到 Java 类的映射
      返回:
      java.lang.Object 保存 OUT 参数值
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
      参见:
    • getRef

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

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

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

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

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

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

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

      void registerOutParameter(int parameterIndex, int sqlType, String  typeName) throws SQL异常
      注册指定的输出参数。此版本的方法 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 - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHAR , REF , ROWID , SQLXMLSTRUCT 数据类型并且 JDBC 驱动程序不支持此数据类型
      自从:
      1.2
      参见:
    • registerOutParameter

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

      sqlType 为 OUT 参数指定的 JDBC 类型决定了 get 方法中必须使用的 Java 类型来读取该参数的值。

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

      参数:
      parameterName - 参数名称
      sqlType - java.sql.Types 定义的 JDBC 类型代码。如果参数是 JDBC 类型 NUMERICDECIMAL ,则应使用接受比例值的 registerOutParameter 版本。
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT 数据类型并且 JDBC 驱动程序不支持此数据类型,或者如果 JDBC 驱动程序不支持支持这个方法
      自从:
      1.4
      参见:
    • registerOutParameter

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

      sqlType 为 OUT 参数指定的 JDBC 类型决定了 get 方法中必须使用的 Java 类型来读取该参数的值。

      当参数为 JDBC 类型 NUMERICDECIMAL 时,应使用此版本的 registerOutParameter

      参数:
      parameterName - 参数名称
      sqlType - SQL 类型代码由 java.sql.Types 定义。
      scale - 小数点右侧所需的位数。它必须大于或等于零。
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT 数据类型并且 JDBC 驱动程序不支持此数据类型,或者如果 JDBC 驱动程序不支持支持这个方法
      自从:
      1.4
      参见:
    • registerOutParameter

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

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

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

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

      参数:
      parameterName - 参数名称
      sqlType - 来自 Types 的值
      typeName - SQL 结构类型的完全限定名称
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 sqlTypeARRAYBLOBCLOBDATALINKJAVA_OBJECTNCHARNCLOBNVARCHARLONGNVARCHARREFROWIDSQLXMLSTRUCT 数据类型并且 JDBC 驱动程序不支持此数据类型,或者如果 JDBC 驱动程序不支持支持这个方法
      自从:
      1.4
      参见:
    • getURL

      URL  getURL(int parameterIndex) throws SQL异常
      检索指定 JDBC DATALINK 参数的值作为 java.net.URL 对象。
      参数:
      parameterIndex - 第一个参数是 1,第二个是 2,...
      返回:
      代表用作指定参数的 JDBC DATALINK 值的 java.net.URL 对象
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误,则在关闭的 CallableStatement 上调用此方法,或者如果返回的 URL 不是 Java 平台上的有效 URL
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • setURL

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

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

      笔记:您必须指定参数的 SQL 类型。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      void setAsciiStream(String  parameterName, InputStream  x, int length) throws SQL异常
      将指定参数设置为给定的输入流,它将具有指定的字节数。当一个非常大的 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 SQL异常
      将指定参数设置为给定的输入流,它将具有指定的字节数。当一个非常大的二进制值被输入到 LONGVARBINARY 参数时,通过 java.io.InputStream 对象发送它可能更实用。数据将根据需要从流中读取,直到到达文件末尾。

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

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

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

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

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

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

      void setObject(String  parameterName, Object  x, int targetSqlType) throws SQL异常
      使用给定对象设置指定参数的值。此方法类似于 setObject(String parameterName, Object x, int targetSqlType, int scaleOrLength) ,不同之处在于它假定比例为零。
      参数:
      parameterName - 参数名称
      x - 包含输入参数值的对象
      targetSqlType - 要发送到数据库的 SQL 类型(在 java.sql.Types 中定义)
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持指定的 targetSqlType
      自从:
      1.4
      参见:
    • setObject

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

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

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

      如果存在歧义,例如,如果对象属于实现多个上述接口的类,则此方法会抛出异常。

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

      参数:
      parameterName - 参数名称
      x - 包含输入参数值的对象
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误,则在关闭的 CallableStatement 上调用此方法,或者如果给定的 Object 参数不明确
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • setCharacterStream

      void setCharacterStream(String  parameterName, Reader  reader, int length) throws SQL异常
      将指定参数设置为给定的 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 SQL异常
      使用给定的 Calendar 对象将指定参数设置为给定的 java.sql.Date 值。驱动程序使用 Calendar 对象构造 SQL DATE 值,然后驱动程序将其发送到数据库。使用 Calendar 对象,驱动程序可以在考虑自定义时区的情况下计算日期。如果未指定 Calendar 对象,则驱动程序使用默认时区,即运行应用程序的虚拟机的时区。
      参数:
      parameterName - 参数名称
      x - 参数值
      cal - 驱动程序将用于构建日期的 Calendar 对象
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • setTime

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

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

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

      笔记:为了便于移植,应用程序在指定 NULL 用户定义参数或 REF 参数时必须提供 SQL 类型代码和完全限定的 SQL 类型名称。在用户定义类型的情况下,名称是参数本身的类型名称。对于 REF 参数,名称是引用类型的类型名称。

      尽管它适用于用户定义参数和 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 SQL异常
      检索 JDBC CHARVARCHARLONGVARCHAR 参数的值作为 Java 编程语言中的 String

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

      参数:
      parameterName - 参数名称
      返回:
      参数值。如果值为 SQL NULL,则结果为 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getBoolean

      boolean getBoolean(String  parameterName) throws SQL异常
      检索 JDBC BITBOOLEAN 参数的值作为 Java 编程语言中的 boolean
      参数:
      parameterName - 参数名称
      返回:
      参数值。如果值为 SQL NULL,则结果为 false
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getByte

      byte getByte(String  parameterName) throws SQL异常
      检索 JDBC TINYINT 参数的值作为 Java 编程语言中的 byte
      参数:
      parameterName - 参数名称
      返回:
      参数值。如果值为 SQL NULL,则结果为 0
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getShort

      short getShort(String  parameterName) throws SQL异常
      检索 JDBC SMALLINT 参数的值作为 Java 编程语言中的 short
      参数:
      parameterName - 参数名称
      返回:
      参数值。如果值为 SQL NULL,则结果为 0
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getInt

      int getInt(String  parameterName) throws SQL异常
      检索 JDBC INTEGER 参数的值作为 Java 编程语言中的 int
      参数:
      parameterName - 参数名称
      返回:
      参数值。如果值为 SQL NULL,则结果为 0
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getLong

      long getLong(String  parameterName) throws SQL异常
      检索 JDBC BIGINT 参数的值作为 Java 编程语言中的 long
      参数:
      parameterName - 参数名称
      返回:
      参数值。如果值为 SQL NULL,则结果为 0
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getFloat

      float getFloat(String  parameterName) throws SQL异常
      检索 JDBC FLOAT 参数的值作为 Java 编程语言中的 float
      参数:
      parameterName - 参数名称
      返回:
      参数值。如果值为 SQL NULL,则结果为 0
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getDouble

      double getDouble(String  parameterName) throws SQL异常
      检索 JDBC DOUBLE 参数的值作为 Java 编程语言中的 double
      参数:
      parameterName - 参数名称
      返回:
      参数值。如果值为 SQL NULL,则结果为 0
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getBytes

      byte[] getBytes(String  parameterName) throws SQL异常
      检索 JDBC BINARYVARBINARY 参数的值作为 Java 编程语言中 byte 值的数组。
      参数:
      parameterName - 参数名称
      返回:
      参数值。如果值为 SQL NULL,则结果为 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getDate

      Date  getDate(String  parameterName) throws SQL异常
      检索 JDBC DATE 参数的值作为 java.sql.Date 对象。
      参数:
      parameterName - 参数名称
      返回:
      参数值。如果值为 SQL NULL,则结果为 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getTime

      Time  getTime(String  parameterName) throws SQL异常
      检索 JDBC TIME 参数的值作为 java.sql.Time 对象。
      参数:
      parameterName - 参数名称
      返回:
      参数值。如果值为 SQL NULL,则结果为 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getTimestamp

      Timestamp  getTimestamp(String  parameterName) throws SQL异常
      检索 JDBC TIMESTAMP 参数的值作为 java.sql.Timestamp 对象。
      参数:
      parameterName - 参数名称
      返回:
      参数值。如果值为 SQL NULL,则结果为 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getObject

      Object  getObject(String  parameterName) throws SQL异常
      检索参数值作为 Java 编程语言中的 Object。如果该值为 SQL NULL,则驱动程序返回 Java null

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

      参数:
      parameterName - 参数名称
      返回:
      保存 OUT 参数值的 java.lang.Object
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getBigDecimal

      BigDecimal  getBigDecimal(String  parameterName) throws SQL异常
      检索 JDBC NUMERIC 参数的值作为 java.math.BigDecimal 对象,小数点右侧的位数与该值包含的位数一样多。
      参数:
      parameterName - 参数名称
      返回:
      全精度的参数值。如果值为 SQL NULL,则结果为 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getObject

      Object  getObject(String  parameterName, Map <String ,Class <?>> map) throws SQL异常
      返回表示 OUT 参数值的对象 parameterName 并使用 map 进行参数值的自定义映射。

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

      参数:
      parameterName - 参数名称
      map - 从 SQL 类型名称到 Java 类的映射
      返回:
      java.lang.Object 保存 OUT 参数值
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getRef

      Ref  getRef(String  parameterName) throws SQL异常
      检索 JDBC REF(<structured-type>) 参数的值作为 Java 编程语言中的 Ref 对象。
      参数:
      parameterName - 参数名称
      返回:
      参数值作为 Java 编程语言中的 Ref 对象。如果值为 SQL NULL,则返回值 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
    • getBlob

      Blob  getBlob(String  parameterName) throws SQL异常
      检索 JDBC BLOB 参数的值作为 Java 编程语言中的 Blob 对象。
      参数:
      parameterName - 参数名称
      返回:
      参数值作为 Java 编程语言中的 Blob 对象。如果值为 SQL NULL,则返回值 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
    • getClob

      Clob  getClob(String  parameterName) throws SQL异常
      检索 JDBC CLOB 参数的值作为 Java 编程语言中的 java.sql.Clob 对象。
      参数:
      parameterName - 参数名称
      返回:
      参数值作为 Java 编程语言中的 Clob 对象。如果值为 SQL NULL,则返回值 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
    • getArray

      Array  getArray(String  parameterName) throws SQL异常
      检索 JDBC ARRAY 参数的值作为 Java 编程语言中的 Array 对象。
      参数:
      parameterName - 参数名称
      返回:
      参数值作为 Java 编程语言中的 Array 对象。如果值为 SQL NULL,则返回值 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
    • getDate

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

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

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

      URL  getURL(String  parameterName) throws SQL异常
      检索 JDBC DATALINK 参数的值作为 java.net.URL 对象。
      参数:
      parameterName - 参数名称
      返回:
      参数值作为 Java 编程语言中的 java.net.URL 对象。如果值为 SQL NULL,则返回值 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误,则在关闭的 CallableStatement 上调用此方法,或者 URL 有问题
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.4
      参见:
    • getRowId

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

      RowId  getRowId(String  parameterName) throws SQL异常
      检索指定 JDBC ROWID 参数的值作为 java.sql.RowId 对象。
      参数:
      parameterName - 参数名称
      返回:
      表示 JDBC ROWID 值的 RowId 对象用作指定参数。如果参数包含 SQL NULL,则返回 null 值。
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • setRowId

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

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

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

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

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

      void setBlob(String  parameterName, InputStream  inputStream, long length) throws SQL异常
      将指定参数设置为 InputStream 对象。 Inputstream必须包含长度指定的字符数,否则执行CallableStatement时将生成SQLException。此方法不同于 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 SQL异常
      将指定参数设置为 Reader 对象。 reader 必须包含长度指定的字符数,否则在执行 CallableStatement 时将生成 SQLException。此方法不同于 setCharacterStream (int, Reader, int) 方法,因为它通知驱动程序参数值应作为 NCLOB 发送到服务。当使用 setCharacterStream 方法时,驱动程序可能必须做额外的工作来确定参数数据是否应该作为 LONGNVARCHARNCLOB 发送到服务
      参数:
      parameterName - 要设置的参数名称
      reader - 包含要将参数值设置到的数据的对象。
      length - 参数数据中的字符数。
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果指定的长度小于零;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • getNClob

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

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

      void setSQLXML(String  parameterName, SQLXML  xmlObject) throws SQL异常
      将指定参数设置为给定的 java.sql.SQLXML 对象。驱动程序将其发送到数据库时将其转换为 SQL XML 值。
      参数:
      parameterName - 参数名称
      xmlObject - 映射 SQL XML 值的 SQLXML 对象
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误;此方法在关闭的 CallableStatementjava.xml.transform.ResultWriterOutputStream 尚未为 SQLXML 对象关闭时调用
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • getSQLXML

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

      SQLXML  getSQLXML(String  parameterName) throws SQL异常
      检索指定 SQL XML 参数的值作为 Java 编程语言中的 java.sql.SQLXML 对象。
      参数:
      parameterName - 参数名称
      返回:
      映射 SQL XML 值的 SQLXML 对象
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • getNString

      String  getNString(int parameterIndex) throws SQL异常
      检索指定 NCHARNVARCHARLONGNVARCHAR 参数的值作为 Java 编程语言中的 String

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

      参数:
      parameterIndex - 第一个参数的索引是 1,第二个是 2,...
      返回:
      映射 NCHARNVARCHARLONGNVARCHAR 值的 String 对象
      抛出:
      SQLException - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
      参见:
    • getNString

      String  getNString(String  parameterName) throws SQL异常
      检索指定 NCHARNVARCHARLONGNVARCHAR 参数的值作为 Java 编程语言中的 String

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

      参数:
      parameterName - 参数名称
      返回:
      映射 NCHARNVARCHARLONGNVARCHAR 值的 String 对象
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
      参见:
    • getNCharacterStream

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

      Reader  getNCharacterStream(String  parameterName) throws SQL异常
      检索指定参数的值作为 Java 编程语言中的 java.io.Reader 对象。它旨在在访问 NCHARNVARCHARLONGNVARCHAR 参数时使用。
      参数:
      parameterName - 参数名称
      返回:
      包含参数值的 java.io.Reader 对象;如果值为 SQL NULL ,则返回值为 Java 编程语言中的 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • getCharacterStream

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

      Reader  getCharacterStream(String  parameterName) throws SQL异常
      检索指定参数的值作为 Java 编程语言中的 java.io.Reader 对象。
      参数:
      parameterName - 参数名称
      返回:
      包含参数值的 java.io.Reader 对象;如果值为 SQL NULL ,则返回值为 Java 编程语言中的 null
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • setBlob

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

      void setClob(String  parameterName, Clob  x) throws SQL异常
      将指定参数设置为给定的 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 SQL异常
      将指定参数设置为给定的输入流,它将具有指定的字节数。当一个非常大的 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 SQL异常
      将指定参数设置为给定的输入流,它将具有指定的字节数。当一个非常大的二进制值被输入到 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 SQL异常
      将指定参数设置为给定的 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 SQL异常
      将指定参数设置为给定的输入流。当一个非常大的 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 SQL异常
      将指定参数设置为给定的输入流。当一个非常大的二进制值被输入到 LONGVARBINARY 参数时,通过 java.io.InputStream 对象发送它可能更实用。数据将根据需要从流中读取,直到到达文件末尾。

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

      笔记:请查阅您的 JDBC 驱动程序文档以确定使用带长度参数的 setBinaryStream 版本是否更有效。

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

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

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

      笔记:请查阅您的 JDBC 驱动程序文档以确定使用带有长度参数的 setCharacterStream 版本是否更有效。

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

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

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

      笔记:请查阅您的 JDBC 驱动程序文档以确定使用带长度参数的 setNCharacterStream 版本是否更有效。

      参数:
      parameterName - 参数名称
      value - 参数值
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果驱动程序不支持国家字符集;如果驱动程序可以检测到可能发生数据转换错误;如果发生数据库访问错误;或者在关闭的 CallableStatement 上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • setClob

      void setClob(String  parameterName, Reader  reader) throws SQL异常
      将指定参数设置为 Reader 对象。此方法不同于 setCharacterStream (int, Reader) 方法,因为它通知驱动程序参数值应作为 CLOB 发送到服务。当使用 setCharacterStream 方法时,驱动程序可能必须做额外的工作来确定参数数据是否应该作为 LONGVARCHARCLOB 发送到服务

      笔记:请查阅您的 JDBC 驱动程序文档以确定使用带长度参数的 setClob 版本是否更有效。

      参数:
      parameterName - 参数名称
      reader - 包含要将参数值设置到的数据的对象。
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • setBlob

      void setBlob(String  parameterName, InputStream  inputStream) throws SQL异常
      将指定参数设置为 InputStream 对象。此方法不同于 setBinaryStream (int, InputStream) 方法,因为它通知驱动程序参数值应作为 BLOB 发送到服务。当使用 setBinaryStream 方法时,驱动程序可能必须做额外的工作来确定参数数据是否应该作为 LONGVARBINARYBLOB 发送到服务

      笔记:请查阅您的 JDBC 驱动程序文档以确定使用带长度参数的 setBlob 版本是否更有效。

      参数:
      parameterName - 参数名称
      inputStream - 包含要将参数值设置到的数据的对象。
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6
    • setNClob

      void setNClob(String  parameterName, Reader  reader) throws SQL异常
      将指定参数设置为 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 SQL异常
      返回表示 OUT 参数 parameterIndex 值的对象,如果支持转换,将从参数的 SQL 类型转换为请求的 Java 数据类型。如果不支持转换或为类型指定 null,则抛出 SQLException

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

      类型参数:
      T - 此 Class 对象建模的类的类型
      参数:
      parameterIndex - 第一个参数为1,第二个为2,依此类推
      type - 表示要将指定参数转换为的 Java 数据类型的类。
      返回:
      type 的实例保存 OUT 参数值
      抛出:
      SQLException - 如果不支持转换,则类型为空或发生其他错误。异常的 getCause() 方法可能会提供更详细的异常,例如,如果发生转换错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.7
    • getObject

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

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

      类型参数:
      T - 此 Class 对象建模的类的类型
      参数:
      parameterName - 参数名称
      type - 表示要将指定参数转换为的 Java 数据类型的类。
      返回:
      type 的实例保存 OUT 参数值
      抛出:
      SQLException - 如果不支持转换,则类型为空或发生其他错误。异常的 getCause() 方法可能会提供更详细的异常,例如,如果发生转换错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.7
    • setObject

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

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

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

      默认实现会抛出 SQLFeatureNotSupportedException

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

      default void setObject(String  parameterName, Object  x, SQLType  targetSqlType) throws SQL异常
      使用给定对象设置指定参数的值。此方法类似于 setObject(String parameterName, Object x, SQLType targetSqlType, int scaleOrLength) ,不同之处在于它假定比例为零。

      默认实现会抛出 SQLFeatureNotSupportedException

      参数:
      parameterName - 参数名称
      x - 包含输入参数值的对象
      targetSqlType - 要发送到数据库的 SQL 类型
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持指定的 targetSqlType
      自从:
      1.8
      参见:
    • registerOutParameter

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

      sqlType 为 OUT 参数指定的 JDBC 类型决定了 get 方法中必须使用的 Java 类型来读取该参数的值。

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

      默认实现会抛出 SQLFeatureNotSupportedException

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

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

      sqlType 为 OUT 参数指定的 JDBC 类型决定了 get 方法中必须使用的 Java 类型来读取该参数的值。

      当参数是 JDBC 类型 JDBCType.NUMERICJDBCType.DECIMAL 时,应使用此版本的 registerOutParameter

      默认实现会抛出 SQLFeatureNotSupportedException

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

      default void registerOutParameter(int parameterIndex, SQLType  sqlType, String  typeName) throws SQL异常
      注册指定的输出参数。此版本的方法 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 - 如果参数索引无效;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持指定的 sqlType
      自从:
      1.8
      参见:
    • registerOutParameter

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

      sqlType 为 OUT 参数指定的 JDBC 类型决定了 get 方法中必须使用的 Java 类型来读取该参数的值。

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

      默认实现会抛出 SQLFeatureNotSupportedException

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

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

      sqlType 为 OUT 参数指定的 JDBC 类型决定了 get 方法中必须使用的 Java 类型来读取该参数的值。

      当参数是 JDBC 类型 JDBCType.NUMERICJDBCType.DECIMAL 时,应使用此版本的 registerOutParameter

      默认实现会抛出 SQLFeatureNotSupportedException

      参数:
      parameterName - 参数名称
      sqlType - SQLType 定义的 JDBC 类型代码,用于注册 OUT 参数。
      scale - 小数点右侧所需的位数。它必须大于或等于零。
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持指定的 sqlType 或者 JDBC 驱动程序不支持此方法
      自从:
      1.8
      参见:
    • registerOutParameter

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

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

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

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

      默认实现会抛出 SQLFeatureNotSupportedException

      参数:
      parameterName - 参数名称
      sqlType - SQLType 定义的 JDBC 类型代码,用于注册 OUT 参数。
      typeName - SQL 结构类型的完全限定名称
      抛出:
      SQLException - 如果 parameterName 不对应于命名参数;如果发生数据库访问错误或在关闭的CallableStatement上调用此方法
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持指定的 sqlType 或者 JDBC 驱动程序不支持此方法
      自从:
      1.8
      参见: