|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
public interface CallableStatement
用于执行 SQL 存储过程的接口。JDBC API 提供了一个存储过程 SQL 转义语法,该语法允许对所有 RDBMS 使用标准方式调用存储过程。此转义语法有一个包含结果参数的形式和一个不包含结果参数的形式。如果使用结果参数,则必须将其注册为 OUT 参数。其他参数可用于输入、输出或同时用于二者。参数是根据编号按顺序引用的,第一个参数的编号是 1。
{?= call <procedure-name>[(<arg1>,<arg2>, ...)]}
{call <procedure-name>[(<arg1>,<arg2>, ...)]}
IN 参数值是使用继承自 PreparedStatement 的 set 方法设置的。在执行存储过程之前,必须注册所有 OUT 参数的类型;它们的值是在执行后通过此类提供的 get 方法获取的。
CallableStatement 可以返回一个 ResultSet 对象或多个 ResultSet 对象。多个 ResultSet 对象是使用继承自 Statement 的操作处理的。
为了获得最大的可移植性,某一调用的 ResultSet 对象和更新计数应该在获得输出参数的值之前处理。
Connection.prepareCall(java.lang.String),
ResultSet| 字段摘要 |
|---|
| 从接口 java.sql.Statement 继承的字段 |
|---|
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO |
| 方法摘要 | |
|---|---|
Array |
getArray(int parameterIndex)
以 Java 编程语言中 Array 对象的形式获取指定的 JDBC ARRAY 参数的值。 |
Array |
getArray(String parameterName)
以 Java 编程语言中 java.sql.ARRAY 对象的形式获取 JDBC ARRAY 参数的值。 |
BigDecimal |
getBigDecimal(int parameterIndex)
以 java.math.BigDecimal 对象的形式获取指定 JDBC NUMERIC 参数的值,小数点右边的位数与该参数值所包含的位数相同。 |
BigDecimal |
getBigDecimal(int parameterIndex,
int scale)
已过时。 使用 getBigDecimal(int parameterIndex) 或 getBigDecimal(String parameterName) |
BigDecimal |
getBigDecimal(String parameterName)
以 java.math.BigDecimal 对象的形式获取 JDBC NUMERIC 参数的值,小数点右边的位数与该参数值所包含的位数相同。 |
Blob |
getBlob(int parameterIndex)
以 Java 编程语言中 java.sql.Clob 对象的形式获取指定的 JDBC CLOB 参数的值。 |
Blob |
getBlob(String parameterName)
以 Java 编程语言中 Blob 对象的形式获取 JDBC BLOB 参数的值。 |
boolean |
getBoolean(int parameterIndex)
以 Java 编程语言中 boolean 值的形式获取指定的 JDBC BIT 或 BOOLEAN 参数的值。 |
boolean |
getBoolean(String parameterName)
以 Java 编程语言中 boolean 值的形式获取 JDBC BIT 或 BOOLEAN 参数的值。 |
byte |
getByte(int parameterIndex)
以 Java 编程语言中 byte 的形式获取指定的 JDBC TINYINT 参数的值。 |
byte |
getByte(String parameterName)
以 Java 编程语言中 byte 值的形式获取 JDBC TINYINT 参数的值。 |
byte[] |
getBytes(int parameterIndex)
以 Java 编程语言中 byte 数组值的形式获取指定的 JDBC BINARY 或 VARBINARY 参数的值。 |
byte[] |
getBytes(String parameterName)
以 Java 编程语言中 byte 数组值的形式获取 JDBC BINARY 或 VARBINARY 参数的值。 |
Reader |
getCharacterStream(int parameterIndex)
以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。 |
Reader |
getCharacterStream(String parameterName)
以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。 |
Clob |
getClob(int parameterIndex)
以 Java 编程语言中 java.sql.Clob 对象的形式获取指定的 JDBC CLOB 参数的值。 |
Clob |
getClob(String parameterName)
以 Java 编程语言中 java.sql.CLOB 对象的形式获取 JDBC CLOB 参数的值。 |
Date |
getDate(int parameterIndex)
以 java.sql.Date 对象的形式获取指定 JDBC DATE 参数的值。 |
Date |
getDate(int parameterIndex,
Calendar cal)
以 java.sql.Date 对象的形式获取指定 JDBC DATE 参数的值,使用给定 Calendar 对象构造日期。 |
Date |
getDate(String parameterName)
以 java.sql.Date 对象的形式获取 JDBC DATE 参数的值。 |
Date |
getDate(String parameterName,
Calendar cal)
以 java.sql.Date 对象的形式获取 JDBC DATE 参数的值,使用给定 Calendar 对象构造日期。 |
double |
getDouble(int parameterIndex)
以 Java 编程语言中 double 值的形式获取指定的 JDBC DOUBLE 参数的值。 |
double |
getDouble(String parameterName)
以 Java 编程语言中 double 值的形式获取 JDBC DOUBLE 参数的值。 |
float |
getFloat(int parameterIndex)
以 Java 编程语言中 float 值的形式获取指定的 JDBC FLOAT 参数的值。 |
float |
getFloat(String parameterName)
以 Java 编程语言中 float 值的形式获取 JDBC FLOAT 参数的值。 |
int |
getInt(int parameterIndex)
以 Java 编程语言中 int 值的形式获取指定的 JDBC INTEGER 参数的值。 |
int |
getInt(String parameterName)
以 Java 编程语言中 int 值的形式获取 JDBC INTEGER 参数的值。 |
long |
getLong(int parameterIndex)
以 Java 编程语言中 long 值的形式获取指定的 JDBC BIGINT 参数的值。 |
long |
getLong(String parameterName)
以 Java 编程语言中 long 值的形式获取 JDBC BIGINT 参数的值。 |
Reader |
getNCharacterStream(int parameterIndex)
以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。 |
Reader |
getNCharacterStream(String parameterName)
以 Java 编程语言中 java.io.Reader 对象的形式获取指定参数的值。 |
NClob |
getNClob(int parameterIndex)
以 Java 编程语言中 java.sql.NClob 对象的形式获取指定的 JDBC NCLOB 参数的值。 |
NClob |
getNClob(String parameterName)
以 Java 编程语言中 java.sql.NClob 对象的形式获取 JDBC NCLOB 参数的值。 |
String |
getNString(int parameterIndex)
以 Java 编程语言中 String 的形式获取指定的 NCHAR、NVARCHAR 或 LONGNVARCHAR 参数的值。 |
String |
getNString(String parameterName)
以 Java 编程语言中 String 的形式获取指定的 NCHAR、NVARCHAR 或 LONGNVARCHAR 参数的值。 |
Object |
getObject(int parameterIndex)
以 Java 编程语言中 Object 的形式获取指定参数的值。 |
Object |
getObject(int parameterIndex,
Map<String,Class<?>> map)
返回一个表示 OUT 参数 parameterIndex 值的对象,并将 map 用于该参数值的自定义映射关系。 |
Object |
getObject(String parameterName)
以 Java 编程语言中 Object 的形式获取参数的值。 |
Object |
getObject(String parameterName,
Map<String,Class<?>> map)
返回一个表示 OUT 参数 parameterName 值的对象,并将 map 用于该参数值的自定义映射关系。 |
Ref |
getRef(int parameterIndex)
以 Java 编程语言中 Ref 对象的形式获取指定的 JDBC REF(<structured-type>) 参数的值。 |
Ref |
getRef(String parameterName)
以 Java 编程语言中 Ref 对象的形式获取 JDBC REF(<structured-type>) 参数的值。 |
RowId |
getRowId(int parameterIndex)
以 java.sql.RowId 对象的形式获取指定 JDBC ROWID 参数的值。 |
RowId |
getRowId(String parameterName)
以 java.sql.RowId 对象的形式获取指定 JDBC ROWID 参数的值。 |
short |
getShort(int parameterIndex)
以 Java 编程语言中 short 值的形式获取指定的 JDBC SMALLINT 参数的值。 |
short |
getShort(String parameterName)
以 Java 编程语言中 short 值的形式获取 JDBC SMALLINT 参数的值。 |
SQLXML |
getSQLXML(int parameterIndex)
以 Java 编程语言中 java.sql.SQLXML 对象的形式获取指定的 SQL XML 参数的值。 |
SQLXML |
getSQLXML(String parameterName)
以 Java 编程语言中 java.sql.SQLXML 对象的形式获取指定的 SQL XML 参数的值。 |
String |
getString(int parameterIndex)
以 Java 编程语言中 String 的形式获取指定的 JDBC CHAR、VARCHAR 或 LONGVARCHAR 参数的值。 |
String |
getString(String parameterName)
以 Java 编程语言中 String 的形式获取 JDBC CHAR、VARCHAR 或 LONGVARCHAR 参数的值。 |
Time |
getTime(int parameterIndex)
以 java.sql.Time 对象的形式获取指定 JDBC TIME 参数的值。 |
Time |
getTime(int parameterIndex,
Calendar cal)
以 java.sql.Time 对象的形式获取指定 JDBC TIME 参数的值,使用给定 Calendar 对象构造时间。 |
Time |
getTime(String parameterName)
以 java.sql.Time 对象的形式获取 JDBC TIME 参数的值。 |
Time |
getTime(String parameterName,
Calendar cal)
以 java.sql.Time 对象的形式获取 JDBC TIME 参数的值,使用给定 Calendar 对象构造时间。 |
Timestamp |
getTimestamp(int parameterIndex)
以 java.sql.Timestamp 对象的形式获取指定 JDBC TIMESTAMP 参数的值。 |
Timestamp |
getTimestamp(int parameterIndex,
Calendar cal)
以 java.sql.Timestamp 对象的形式获取指定 JDBC TIMESTAMP 参数的值,使用给定 Calendar 对象构造 Timestamp 对象。 |
Timestamp |
getTimestamp(String parameterName)
以 java.sql.Timestamp 对象的形式获取 JDBC TIMESTAMP 参数的值。 |
Timestamp |
getTimestamp(String parameterName,
Calendar cal)
以 java.sql.Timestamp 对象的形式获取 JDBC TIMESTAMP 参数的值,使用给定 Calendar 对象构造 Timestamp 对象。 |
URL |
getURL(int parameterIndex)
以 java.sql.URL 对象的形式获取指定 JDBC DATALINK 参数的值。 |
URL |
getURL(String parameterName)
以 java.net.URL 对象的形式获取 JDBC DATALINK 参数的值。 |
void |
registerOutParameter(int parameterIndex,
int sqlType)
按顺序位置 parameterIndex 将 OUT 参数注册为 JDBC 类型 sqlType。 |
void |
registerOutParameter(int parameterIndex,
int sqlType,
int scale)
按顺序位置 parameterIndex 将参数注册为 JDBC 类型 sqlType。 |
void |
registerOutParameter(int parameterIndex,
int sqlType,
String typeName)
注册指定的输出参数。 |
void |
registerOutParameter(String parameterName,
int sqlType)
将名为 parameterName 的 OUT 参数注册为 JDBC 类型 sqlType。 |
void |
registerOutParameter(String parameterName,
int sqlType,
int scale)
将名为 parameterName 的参数注册为 JDBC 类型 sqlType。 |
void |
registerOutParameter(String parameterName,
int sqlType,
String typeName)
注册指定的输出参数。 |
void |
setAsciiStream(String parameterName,
InputStream x)
将指定参数设置为给定输入流。 |
void |
setAsciiStream(String parameterName,
InputStream x,
int length)
将指定参数设置为给定输入流,该输入流将拥有指定的字节数。 |
void |
setAsciiStream(String parameterName,
InputStream x,
long length)
将指定参数设置为给定输入流,该输入流将拥有指定的字节数。 |
void |
setBigDecimal(String parameterName,
BigDecimal x)
将指定参数设置为给定 java.math.BigDecimal 值。 |
void |
setBinaryStream(String parameterName,
InputStream x)
将指定参数设置为给定输入流。 |
void |
setBinaryStream(String parameterName,
InputStream x,
int length)
将指定参数设置为给定输入流,该输入流将拥有指定的字节数。 |
void |
setBinaryStream(String parameterName,
InputStream x,
long length)
将指定参数设置为给定输入流,该输入流将拥有指定字节数。 |
void |
setBlob(String parameterName,
Blob x)
将指定参数设置为给定的 java.sql.Blob 对象。 |
void |
setBlob(String parameterName,
InputStream inputStream)
将指定参数设置为 InputStream 对象。 |
void |
setBlob(String parameterName,
InputStream inputStream,
long length)
将指定参数设置为 InputStream 对象。 |
void |
setBoolean(String parameterName,
boolean x)
将指定参数设置为给定 Java boolean 值。 |
void |
setByte(String parameterName,
byte x)
将指定参数设置为给定 Java byte 值。 |
void |
setBytes(String parameterName,
byte[] x)
将指定参数设置为给定 Java byte 数组。 |
void |
setCharacterStream(String parameterName,
Reader reader)
将指定参数设置为给定 Reader 对象。 |
void |
setCharacterStream(String parameterName,
Reader reader,
int length)
将指定参数设置为给定 Reader 对象,该对象是给定的字符长度数。 |
void |
setCharacterStream(String parameterName,
Reader reader,
long length)
将指定参数设置为给定 Reader 对象,该对象具有给定字符数长度。 |
void |
setClob(String parameterName,
Clob x)
将指定参数设置为给定的 java.sql.Clob 对象。 |
void |
setClob(String parameterName,
Reader reader)
将指定参数设置为 Reader 对象。 |
void |
setClob(String parameterName,
Reader reader,
long length)
将指定参数设置为 Reader 对象。 |
void |
setDate(String parameterName,
Date x)
使用运行应用程序的虚拟机默认时区将指定参数设置为给定 java.sql.Date 值。 |
void |
setDate(String parameterName,
Date x,
Calendar cal)
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Date 值。 |
void |
setDouble(String parameterName,
double x)
将指定参数设置为给定 Java double 值。 |
void |
setFloat(String parameterName,
float x)
将指定参数设置为给定 Java float 值。 |
void |
setInt(String parameterName,
int x)
将指定参数设置为给定 Java int 值。 |
void |
setLong(String parameterName,
long x)
将指定参数设置为给定 Java long 值。 |
void |
setNCharacterStream(String parameterName,
Reader value)
将指定参数设置为 Reader 对象。 |
void |
setNCharacterStream(String parameterName,
Reader value,
long length)
将指定参数设置为 Reader 对象。 |
void |
setNClob(String parameterName,
NClob value)
将指定参数设置为 java.sql.NClob 对象。 |
void |
setNClob(String parameterName,
Reader reader)
将指定参数设置为 Reader 对象。 |
void |
setNClob(String parameterName,
Reader reader,
long length)
将指定参数设置为 Reader 对象。 |
void |
setNString(String parameterName,
String value)
将指定参数设置为给定 String 对象。 |
void |
setNull(String parameterName,
int sqlType)
将指定参数设置为 SQL NULL。 |
void |
setNull(String parameterName,
int sqlType,
String typeName)
将指定参数设置为 SQL NULL。 |
void |
setObject(String parameterName,
Object x)
使用给定对象设置指定参数的值。 |
void |
setObject(String parameterName,
Object x,
int targetSqlType)
使用给定对象设置指定参数的值。 |
void |
setObject(String parameterName,
Object x,
int targetSqlType,
int scale)
使用给定对象设置指定参数的值。 |
void |
setRowId(String parameterName,
RowId x)
将指定参数设置为给定 java.sql.RowId 对象。 |
void |
setShort(String parameterName,
short x)
将指定参数设置为给定 Java short 值。 |
void |
setSQLXML(String parameterName,
SQLXML xmlObject)
将指定参数设置为给定 java.sql.SQLXML 对象。 |
void |
setString(String parameterName,
String x)
将指定参数设置为给定 Java String 值。 |
void |
setTime(String parameterName,
Time x)
将指定参数设置为给定 java.sql.Time 值。 |
void |
setTime(String parameterName,
Time x,
Calendar cal)
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Time 值。 |
void |
setTimestamp(String parameterName,
Timestamp x)
将指定参数设置为给定 java.sql.Timestamp 值。 |
void |
setTimestamp(String parameterName,
Timestamp x,
Calendar cal)
使用给定的 Calendar 对象将指定参数设置为给定 java.sql.Timestamp 值。 |
void |
setURL(String parameterName,
URL val)
将指定参数设置为给定 java.net.URL 对象。 |
boolean |
wasNull()
查询最后一个读取的 OUT 参数是否为 SQL NULL。 |
| 从接口 java.sql.Wrapper 继承的方法 |
|---|
isWrapperFor, unwrap |
| 方法详细信息 |
|---|
void registerOutParameter(int parameterIndex,
int sqlType)
throws SQLException
parameterIndex 将 OUT 参数注册为 JDBC 类型 sqlType。所有 OUT 参数都必须在执行存储过程前注册。
sqlType 为 OUT 参数指定的 JDBC 类型确定必须用于 get 方法,以读取该参数值的 Java 类型。
如果预期返回给此输出参数的 JDBC 类型是取决于此特定数据库的,则 sqlType 应该是 java.sql.Types.OTHER。方法 getObject(int) 获取该值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推sqlType - java.sql.Types 定义的 JDBC 类型代码。如果参数是 JDBC 类型 NUMERIC 或 DECIMAL,则应使用接受标度值的那种 registerOutParameter。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 sqlType 是 ARRAY、BLOB、CLOB、DATALINK、JAVA_OBJECT、NCHAR、NCLOB、NVARCHAR、LONGNVARCHAR、REF、ROWID、SQLXML 或 STRUCT 数据类型之一并且 JDBC 驱动程序不支持此数据类型Types
void registerOutParameter(int parameterIndex,
int sqlType,
int scale)
throws SQLException
parameterIndex 将参数注册为 JDBC 类型 sqlType。所有 OUT 参数都必须在执行存储过程前注册。
sqlType 为 OUT 参数指定的 JDBC 类型确定必须用于 get 方法,以读取该参数值的 Java 类型。
这种形式的 registerOutParameter 应该在参数是 JDBC 类型 NUMERIC 或 DECIMAL 时使用。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推sqlType - 由 java.sql.Types 定义的 SQL 类型代码。scale - 小数点右边所需的位数。该参数必须大于等于 0。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 sqlType 是 ARRAY、BLOB、CLOB、DATALINK、JAVA_OBJECT、NCHAR、NCLOB、NVARCHAR、LONGNVARCHAR、REF、ROWID、SQLXML 或 STRUCT 数据类型之一并且 JDBC 驱动程序不支持此数据类型Types
boolean wasNull()
throws SQLException
NULL。注意,此方法只应该在调用获取方法之后调用;否则没有用来确定它是否为 null 的值。
NULL,则返回 true;否则返回 false
SQLException - 如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
String getString(int parameterIndex)
throws SQLException
String 的形式获取指定的 JDBC CHAR、VARCHAR 或 LONGVARCHAR 参数的值。
对于固定长度类型 SQL CHAR,返回的 String 对象与数据库中的 JDBC CHAR 值完全相同,包括数据库添加的任何填充数据。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 null。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setString(java.lang.String, java.lang.String)
boolean getBoolean(int parameterIndex)
throws SQLException
boolean 值的形式获取指定的 JDBC BIT 或 BOOLEAN 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 false。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setBoolean(java.lang.String, boolean)
byte getByte(int parameterIndex)
throws SQLException
byte 的形式获取指定的 JDBC TINYINT 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 0。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setByte(java.lang.String, byte)
short getShort(int parameterIndex)
throws SQLException
short 值的形式获取指定的 JDBC SMALLINT 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 0。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setShort(java.lang.String, short)
int getInt(int parameterIndex)
throws SQLException
int 值的形式获取指定的 JDBC INTEGER 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 0。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setInt(java.lang.String, int)
long getLong(int parameterIndex)
throws SQLException
long 值的形式获取指定的 JDBC BIGINT 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 0。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setLong(java.lang.String, long)
float getFloat(int parameterIndex)
throws SQLException
float 值的形式获取指定的 JDBC FLOAT 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 0。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setFloat(java.lang.String, float)
double getDouble(int parameterIndex)
throws SQLException
double 值的形式获取指定的 JDBC DOUBLE 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 0。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setDouble(java.lang.String, double)
BigDecimal getBigDecimal(int parameterIndex,
int scale)
throws SQLException
getBigDecimal(int parameterIndex) 或 getBigDecimal(String parameterName)
java.math.BigDecimal 对象的形式获取指定 JDBC NUMERIC 参数的值,小数点右边有 scale 个位数。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推scale - 小数点右边的位数
NULL,则结果为 null。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法setBigDecimal(java.lang.String, java.math.BigDecimal)
byte[] getBytes(int parameterIndex)
throws SQLException
byte 数组值的形式获取指定的 JDBC BINARY 或 VARBINARY 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 null。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setBytes(java.lang.String, byte[])
Date getDate(int parameterIndex)
throws SQLException
java.sql.Date 对象的形式获取指定 JDBC DATE 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 null。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setDate(java.lang.String, java.sql.Date)
Time getTime(int parameterIndex)
throws SQLException
java.sql.Time 对象的形式获取指定 JDBC TIME 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 null。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setTime(java.lang.String, java.sql.Time)
Timestamp getTimestamp(int parameterIndex)
throws SQLException
java.sql.Timestamp 对象的形式获取指定 JDBC TIMESTAMP 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 null。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setTimestamp(java.lang.String, java.sql.Timestamp)
Object getObject(int parameterIndex)
throws SQLException
Object 的形式获取指定参数的值。如果值为 SQL NULL,则驱动程序返回一个 Java null。
此方法返回一个 Java 对象,其类型对应于使用 registerOutParameter 方法为此参数注册的 JDBC 类型。通过将目标 JDBC 类型注册为 java.sql.Types.OTHER,可以使用此方法来读取特定于数据库的抽象数据类型。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
java.lang.Object
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法Types,
setObject(java.lang.String, java.lang.Object, int, int)
BigDecimal getBigDecimal(int parameterIndex)
throws SQLException
java.math.BigDecimal 对象的形式获取指定 JDBC NUMERIC 参数的值,小数点右边的位数与该参数值所包含的位数相同。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
NULL,则结果为 null。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setBigDecimal(java.lang.String, java.math.BigDecimal)
Object getObject(int parameterIndex,
Map<String,Class<?>> map)
throws SQLException
parameterIndex 值的对象,并将 map 用于该参数值的自定义映射关系。
此方法返回一个 Java 对象,其类型对应于使用 registerOutParameter 方法为此参数注册的 JDBC 类型。通过将目标 JDBC 类型注册为 java.sql.Types.OTHER,可以使用此方法来读取特定于数据库的抽象数据类型。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推map - SQL 类型名称到 Java 类的映射关系
java.lang.Object
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法setObject(java.lang.String, java.lang.Object, int, int)
Ref getRef(int parameterIndex)
throws SQLException
Ref 对象的形式获取指定的 JDBC REF(<structured-type>) 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
Ref 对象形式的参数值。如果值为 SQL NULL,则返回 null 值。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
Blob getBlob(int parameterIndex)
throws SQLException
java.sql.Clob 对象的形式获取指定的 JDBC CLOB 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
Blob 对象形式的参数值。如果值为 SQL NULL,则返回 null 值。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
Clob getClob(int parameterIndex)
throws SQLException
java.sql.Clob 对象的形式获取指定的 JDBC CLOB 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
Clob 对象形式的参数值。如果值为 SQL NULL,则返回 null 值。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
Array getArray(int parameterIndex)
throws SQLException
Array 对象的形式获取指定的 JDBC ARRAY 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推
Array 对象形式的参数值。如果值为 SQL NULL,则返回 null 值。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
Date getDate(int parameterIndex,
Calendar cal)
throws SQLException
java.sql.Date 对象的形式获取指定 JDBC DATE 参数的值,使用给定 Calendar 对象构造日期。利用 Calendar 对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算日期。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区和语言环境。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推cal - 供驱动程序用来构造日期的 Calendar 对象
NULL,则结果为 null。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setDate(java.lang.String, java.sql.Date)
Time getTime(int parameterIndex,
Calendar cal)
throws SQLException
java.sql.Time 对象的形式获取指定 JDBC TIME 参数的值,使用给定 Calendar 对象构造时间。利用 Calendar 对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算时间。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区和语言环境。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推cal - 供驱动程序用来构造时间的 Calendar 对象
NULL,则结果为 null。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setTime(java.lang.String, java.sql.Time)
Timestamp getTimestamp(int parameterIndex,
Calendar cal)
throws SQLException
java.sql.Timestamp 对象的形式获取指定 JDBC TIMESTAMP 参数的值,使用给定 Calendar 对象构造 Timestamp 对象。利用 Calendar 对象,驱动程序可以在考虑自定义时区和语言环境的情况下计算时间戳。如果没有指定任何 Calendar 对象,那么驱动程序将使用默认时区和语言环境。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推cal - 供驱动程序用来构造时间戳的 Calendar 对象
NULL,则结果为 null。
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法setTimestamp(java.lang.String, java.sql.Timestamp)
void registerOutParameter(int parameterIndex,
int sqlType,
String typeName)
throws SQLException
registerOutParameter 方法应该用于用户定义的输出参数或 REF 输出参数。用户定义类型的示例有:STRUCT、DISTINCT、JAVA_OBJECT 和指定的数组类型。
所有 OUT 参数都必须在执行存储过程前注册。
对于用户定义的参数,还应该提供该参数的完全限定 SQL 类型名称,而 REF 参数则要求提供引用类型的完全限定类型名称。不需要类型代码和类型名称信息的 JDBC 驱动程序可以忽略它。不过,为了便于移植,应用程序应该为用户定义的参数和 REF 参数提供这些值。
尽管此方法是供用户定义的参数和 REF 参数使用的,但也可以将其用于注册任何 JDBC 类型的参数。如果参数没有用户定义的类型或 REF 类型,则忽略 typeName 参数。
注:在读取 out 参数的值时,必须使用某个获取方法,该方法的 Java 类型对应于参数的已注册 SQL 类型。
parameterIndex - 第一个参数是 1,第二个参数是 2,依此类推sqlType - 取自 Types 的一个值typeName - SQL 结构类型的完全限定名称
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 sqlType 是 ARRAY、BLOB、CLOB、DATALINK、JAVA_OBJECT、NCHAR、NCLOB、NVARCHAR、LONGNVARCHAR、REF、ROWID、SQLXML 或 STRUCT 数据类型之一并且 JDBC 驱动程序不支持此数据类型Types
void registerOutParameter(String parameterName,
int sqlType)
throws SQLException
parameterName 的 OUT 参数注册为 JDBC 类型 sqlType。所有 OUT 参数都必须在执行存储过程前注册。
sqlType 为 OUT 参数指定的 JDBC 类型确定必须用于 get 方法,以读取该参数值的 Java 类型。
如果预期返回给此输出参数的 JDBC 类型是特定于此特定数据库的,则 sqlType 应该是 java.sql.Types.OTHER。方法 getObject(int) 获取该值。
parameterName - 参数名sqlType - 由 java.sql.Types 定义的 JDBC 类型代码。如果参数是 JDBC 类型 NUMERIC 或 DECIMAL,则应使用接受标度值的那种 registerOutParameter。
SQLException - 如果 parameterName 不对应指定的参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 sqlType 是 ARRAY、BLOB、CLOB、DATALINK、JAVA_OBJECT、NCHAR、NCLOB、NVARCHAR、LONGNVARCHAR、REF、ROWID、SQLXML 或 STRUCT 数据类型之一并且 JDBC 驱动程序不支持此数据类型,或者 JDBC 驱动程序不支持此方法Types
void registerOutParameter(String parameterName,
int sqlType,
int scale)
throws SQLException
parameterName 的参数注册为 JDBC 类型 sqlType。所有 OUT 参数都必须在执行存储过程前注册。
sqlType 为 OUT 参数指定的 JDBC 类型确定必须用于 get 方法,以读取该参数值的 Java 类型。
这种形式的 registerOutParameter 应该在参数是 JDBC 类型 NUMERIC 或 DECIMAL 时使用。
parameterName - 参数名sqlType - 由 java.sql.Types 定义的 SQL 类型代码。scale - 小数点右边所需的位数。该参数必须大于等于 0。
SQLException - 如果 parameterName 不对应指定的参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 sqlType 是 ARRAY、BLOB、CLOB、DATALINK、JAVA_OBJECT、NCHAR、NCLOB、NVARCHAR、LONGNVARCHAR、REF、ROWID、SQLXML 或 STRUCT 数据类型之一并且 JDBC 驱动程序不支持此数据类型,或者 JDBC 驱动程序不支持此方法Types
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 参数的值时,必须使用 getXXX 方法,其 Java 类型 XXX 对应于参数的已注册 SQL 类型。
parameterName - 参数名sqlType - 取自 Types 的一个值typeName - SQL 结构类型的完全限定名称
SQLException - 如果 parameterName 不对应指定的参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 sqlType 是 ARRAY、BLOB、CLOB、DATALINK、JAVA_OBJECT、NCHAR、NCLOB、NVARCHAR、LONGNVARCHAR、REF、ROWID、SQLXML 或 STRUCT 数据类型之一并且 JDBC 驱动程序不支持此数据类型,或者 JDBC 驱动程序不支持此方法Types
URL getURL(int parameterIndex)
throws SQLException
java.sql.URL 对象的形式获取指定 JDBC DATALINK 参数的值。
parameterIndex - 第一个参数是 1,第二个参数是 2,……
DATALINK 值的 java.net.URL 对象
SQLException - 如果 parameterIndex 无效;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法,或者将返回的 URL 在 Java 平台上是一个无效 URL
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法setURL(java.lang.String, java.net.URL)
void setURL(String parameterName,
URL val)
throws SQLException
java.net.URL 对象。在将该值发送到数据库时,驱动程序将它转换成一个 SQL DATALINK 值。
parameterName - 参数名val - 参数值
SQLException - 如果 parameterName 不对应于指定参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法,或者 URL 是错误的
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法getURL(int)
void setNull(String parameterName,
int sqlType)
throws SQLException
NULL。
注:必须指定参数的 SQL 类型。
parameterName - 参数名sqlType - java.sql.Types 中定义的 SQL 类型代码
SQLException - 如果 parameterName 不对应于指定参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
void setBoolean(String parameterName,
boolean x)
throws SQLException
boolean 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL BIT 或 BOOLEAN 值。
parameterName - 参数名x - 参数值
SQLException - 如果 parameterName 不对应于指定参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法getBoolean(int)
void setByte(String parameterName,
byte x)
throws SQLException
byte 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL TINYINT 值。
parameterName - 参数名x - 参数值
SQLException - 如果 parameterName 不对应于指定参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法getByte(int)
void setShort(String parameterName,
short x)
throws SQLException
short 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL SMALLINT 值。
parameterName - 参数名x - 参数值
SQLException - 如果 parameterName 不对应于指定参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法getShort(int)
void setInt(String parameterName,
int x)
throws SQLException
int 值。在将该值发送到数据库时,驱动程序将它转换成一个 SQL INTEGER 值。
parameterName - 参数名x - 参数值
SQLException - 如果 parameterName 不对应于指定参数;如果发生数据库访问错误,或者在关闭的 CallableStatement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法getInt(int)
void setLong(String parameterName,
long x)
throws SQLException
lon