基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
java.sql.CallableStatement
更新时间:2026-07-22 17:45:59
java.sql.CallableStatement 是存储过程执行接口。
描述
JDBC API 提供了存储过程的 SQL 转义语法,允许以标准方式为所有 RDBMS 调用存储过程。转义语法的形式一种包含结果参数,另一种不包含结果参数。如果被使用,结果参数必须注册为 OUT 参数。其他参数可用于输入、输出或同时为输入输出。参数是根据编号的顺序引用的,第一个参数的编号是 1。
{?= call <procedure-name>[(<arg1>,<arg2>, ...)]}
{call <procedure-name>[(<arg1>,<arg2>, ...)]}
IN 参数值通过从 PreparedStatement 继承的 set 方法设置的。所有 OUT 参数的类型必须在执行存储过程之前注册;执行后通过此类提供的 get 方法检索它们的值。
CallableStatement 可以返回一个 ResultSet 对象或多个 ResultSet 对象。使用从 Statement 继承的方法可以处理多个 ResultSet 对象。
为了获得最大的可移植性,应在获取输出参数值之前处理完调用的 ResultSet 对象和更新计数。
方法
| 方法名 | 返回值类型 | Oracle 模式 是否支持 | MySQL 模式 是否支持 |
|---|---|---|---|
| registerOutParameter(int parameterIndex, int sqlType ) | void | 是 | 是 |
| registerOutParameter(int parameterIndex, int sqlType, int scale) | void | 是 | 是 |
| wasNull() | Boolean | 是 | 是 |
| getString(int parameterIndex) | String | 是 | 是 |
| getString(String parameterName) | String | 是 | 是 |
| getBoolean(int parameterIndex) | Boolean | 是 | 是 |
| getBoolean(String parameterName) | Boolean | 是 | 是 |
| getByte(int parameterName) | byte | 是 | 是 |
| getByte(String parameterName) | byte | 是 | 是 |
| getShort(int parameterIndex) | short | 是 | 是 |
| getShort(String parameterName) | short | 是 | 是 |
| getInt(int parameterIndex) | int | 是 | 是 |
| getInt(String parameterName) | int | 是 | 是 |
| getLong(int parameterIndex) | long | 是 | 是 |
| getLong(String parameterName) | long | 是 | 是 |
| getFloat(int parameterIndex) | float | 是 | 是 |
| getFloat(String parameterName) | float | 是 | 是 |
| getDouble(int parameterIndex) | double | 是 | 是 |
| getDouble(String parameterName) | double | 是 | 是 |
| getBigDecimal(int parameterIndex) | BigDecimal | 是 | 是 |
| getBigDecimal(String parameterName) | BigDecimal | 是 | 是 |
| getBytes(int parameterIndex) | byte[] | 是 | 是 |
| getBytes(String parameterName) | byte[] | 是 | 是 |
| getDate(int parameterIndex) | Date | 是 | 是 |
| getDate(String parameterName) | Date | 是 | 是 |
| getTime(int parameterIndex) | Time | 是 | 是 |
| getTime(String parameterName) | Time | 是 | 是 |
| getTimestamp(int parameterIndex) | Timestamp | 是 | 是 |
| getTimestamp(String parameterName) | Timestamp | 是 | 是 |
| getObject(int parameterIndex) | Object | 是 | 是 |
| getObject(String parameterName) | Object | 是 | 是 |
| getRef(int parameterIndex) | Ref | 是 | 是 |
| getRef(String parameterName) | Ref | 是 | 是 |
| getBlob(int parameterIndex) | Blob | 是 | 是 |
| getBlob(String parameterName) | Blob | 是 | 是 |
| getClob(int parameterIndex) | Clob | 是 | 是 |
| getClob(String parameterName) | Clob | 是 | 是 |
| getArray(int parameterIndex) | Array | 是 | 是 |
| getArray(String parameterName) | Array | 是 | 是 |
| getRowId(int parameterIndex) | RowId | 否 | 否 |
| getRowId(String parameterName) | RowId | 否 | 否 |
| setRowId(String parameterName,RowId x) | void | 否 | 否 |
| setNString(String parameterName,String value) | void | 是 | 是 |
| setNString(int parameterIndex) | void | 是 | 是 |
| setNCharacterStream(String parameterName,Reader reader, longlength) | void | 是 | 是 |
| setNCharacterStream(String parameterName,Reader value) | void | 是 | 是 |
| setNClob(String parameterName,NClob value) | void | 是 | 是 |
| setNClob(String parameterName,Reader reader, longlength) | void | 是 | 是 |
| setNClob(String parameterName,Reader reader) | void | 是 | 是 |
| setClob(String parameterName,Reader reader, longlength) | void | 是 | 是 |
| setClob(String parameterName,Reader reader, longlength) | void | 是 | 是 |
| setClob(String parameterName,Clob x) | void | 是 | 是 |
| setBlob(String parameterName,InputStream inputStream, long length) | void | 是 | 是 |
| setBlob(String parameterName,Blob x) | void | 是 | 是 |
| setBlob(String parameterName,InputStream inputStream) | void | 是 | 是 |
| getNClob(int parameterIndex) | NClob | 是 | 是 |
| getNClob(String parameterName) | NClob | 是 | 是 |
| setSQLXML(String parameterName,SQLXML xmlObject) | void | 是 | 是 |
| getSQLXML(int parameterIndex) | SQLXML | 否 | 否 |
| getSQLXML(String parameterName) | SQLXML | 否 | 否 |
| getURL(int parameterIndex) | URL | 是 | 是 |
| getURL(String parameterName) | URL | 是 | 是 |
| getNString(int parameterIndex) | String | 是 | 是 |
| getNString(String parameterName) | String | 是 | 是 |
| getCharacterStream(int parameterIndex) | Reader | 是 | 是 |
| getCharacterStream(String parameterName) | Reader | 是 | 是 |
| getNCharacterStream(int parameterIndex) | Reader | 是 | 是 |
| getNCharacterStream(String parameterName) | Reader | 是 | 是 |