|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.sql
接口 CallableStatement
- 所有超级接口:
- PreparedStatement, Statement
-
public interface CallableStatement
- extends PreparedStatement
用于执行 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
对象和更新计数应该在获得输出参数的值之前处理。
字段摘要 |
---|
从接口 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 i) 以 Java 编程语言中 Array 对象的形式检索指定的 JDBC ARRAY 参数的值。 |
Array |
getArray(String parameterName) 以 Java 编程语言中 ARRAY 对象的形式检索 JDBC ARRAY 参数的值。 |
BigDecimal |
getBigDecimal(int parameterIndex) 检索指定 JDBC NUMERIC 参数的值,以一个小数点右边的位数与该参数值所包含的位数相同的 java.math.BigDecimal 对象的形式。 |
BigDecimal |
getBigDecimal(int parameterIndex, int scale) 已过时。 使用 getBigDecimal(int parameterIndex) 或 getBigDecimal(String parameterName) |
BigDecimal |
getBigDecimal(String parameterName) 检索 JDBC NUMERIC 参数的值,以一个小数点右边的位数与该参数值所包含的位数相同的 java.math.BigDecimal 对象的形式。 |
Blob |
getBlob(int i) 以 Java 编程语言中 Blob 对象的形式检索指定的 JDBC BLOB 参数的值。 |
Blob |
getBlob(String parameterName) 以 Java 编程语言中 Blob 对象的形式检索 JDBC BLOB 参数的值。 |
boolean |
getBoolean(int parameterIndex) 以 Java 编程语言中 boolean 值的形式检索指定的 JDBC BIT 参数的值。 |
boolean |
getBoolean(String parameterName) 以 Java 编程语言中 boolean 值的形式检索 JDBC BIT 参数的值。 |
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 参数的值。 |
Clob |
getClob(int i) 以 Java 编程语言中 Clob 对象的形式检索指定的 JDBC CLOB 参数的值。 |
Clob |
getClob(String parameterName) 以 Java 编程语言中 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 参数的值。 |
Object |
getObject(int parameterIndex) 以 Java 编程语言中 Object 的形式检索指定参数的值。 |
Object |
getObject(int i, Map<String,Class<?>> map) 返回一个表示 OUT 参数 i 的值的对象,并将 map 用于该参数值的自定义映射关系。 |
Object |
getObject(String parameterName) 以 Java 编程语言中 Object 的形式检索参数的值。 |
Object |
getObject(String parameterName, Map<String,Class<?>> map) 返回一个表示 OUT 参数 i 的值的对象,并将 map 用于该参数值的自定义映射关系。 |
Ref |
getRef(int i) 以 Java 编程语言中 Ref 对象的形式检索指定的 JDBC REF(<structured-type>) 参数的值。 |
Ref |
getRef(String parameterName) 以 Java 编程语言中 Ref 对象的形式检索 JDBC REF(<structured-type>) 参数的值。 |
short |
getShort(int parameterIndex) 以 Java 编程语言中 short 值的形式检索指定的 JDBC SMALLINT 参数的值。 |
short |
getShort(String parameterName) 以 Java 编程语言中 short 值的形式检索 JDBC SMALLINT 参数的值。 |
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 paramIndex, 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, int length) 将指定参数设置为给定输入流,该输入流将拥有给定字节数。 |
void |
setBigDecimal(String parameterName, BigDecimal x) 将指定参数设置为给定 java.math.BigDecimal 值。 |
void |
setBinaryStream(String parameterName, InputStream x, int length) 将指定参数设置为给定输入流,该输入流将拥有指定的字节数。 |
void |
setBoolean(String parameterName, boolean x) 将指定参数设置为给定 Java boolean 值。 |
void |
setByte(String parameterName, byte x) 将指定参数设置为给定 Java byte 值。 |
void |
setBytes(String parameterName, byte[] x) 将指定参数设置为给定 Java 字节数组。 |
void |
setCharacterStream(String parameterName, Reader reader, int 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 |
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 |
setShort(String parameterName, short x) 将指定参数设置为给定 Java short 值。 |
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 。 |
方法详细信息 |
---|
registerOutParameter
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
- 如果发生数据库访问错误 - 另请参见:
-
Types
registerOutParameter
void registerOutParameter(int parameterIndex, int sqlType, int scale) throws SQLException
-
按顺序位置
parameterIndex
将参数注册为 JDBC 类型sqlType
。必须在执行存储过程之前调用此方法。由
sqlType
指定的 OUT 参数的 JDBC 类型确定必须用于get
方法来读取该参数值的 Java 类型。这种
registerOutParameter
应该在参数是 JDBC 类型NUMERIC
或DECIMAL
时使用。 -
-
- 参数:
-
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推 -
sqlType
- 由java.sql.Types
定义的 SQL 类型代码。 -
scale
- 小数点右边所需的位数。该参数必须大于或等于零。 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
Types
wasNull
boolean wasNull() throws SQLException
-
检索最后一个读取的 OUT 参数是否为 SQL
NULL
。注意,此方法应该仅在调用获取方法之后调用;否则没有用来确定它是否为null
的值。 -
-
- 返回:
-
如果最后一个读取的参数为 SQL
NULL
,则返回true
;否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
getString
String getString(int parameterIndex) throws SQLException
-
以 Java 编程语言中
String
的形式检索指定的 JDBCCHAR
、VARCHAR
或LONGVARCHAR
参数的值。对于固定长度类型 JDBC
CHAR
,返回的String
对象与数据库中所拥有的 JDBCCHAR
值完全相同,包括数据库添加的任何填充数据。 -
-
- 参数:
-
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推 - 返回:
-
参数值。如果值为 SQL
NULL
,则结果为null
。 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
setString(java.lang.String, java.lang.String)
getBoolean
boolean getBoolean(int parameterIndex) throws SQLException
-
以 Java 编程语言中
boolean
值的形式检索指定的 JDBCBIT
参数的值。 -
-
- 参数:
-
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推 - 返回:
-
参数值。如果值为 SQL
NULL
,则结果为false
。 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
setBoolean(java.lang.String, boolean)
getByte
byte getByte(int parameterIndex) throws SQLException
-
以 Java 编程语言中
byte
的形式检索指定的 JDBCTINYINT
参数的值。 -
-
- 参数:
-
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推 - 返回:
-
参数值。如果值为 SQL
NULL
,则结果为0
。 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
setByte(java.lang.String, byte)
getShort
short getShort(int parameterIndex) throws SQLException
-
以 Java 编程语言中
short
值的形式检索指定的 JDBCSMALLINT
参数的值。 -
-
- 参数:
-
parameterIndex
- 第一个参数是 1,第二个参数是 2,依此类推 - 返回:
-
参数值。如果值为 SQL
NULL
,则结果为0
。 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
setShort(java.lang.String, short)