
# java.sql.CallableStatement
java.sql.CallableStatement是存储过程执行接口。
表1对java.sql.CallableStatement的支持情况 
| 方法名                                                             | 返回值类型      | 支持JDBC 4 |
|:---|:---|:---|
| getArray(int parameterIndex)                                    | Array      | Yes      |
| getBigDecimal(int parameterIndex)                               | BigDecimal | Yes      |
| getBlob(int parameterIndex)                                     | Blob       | Yes      |
| getBoolean(int parameterIndex)                                  | Boolean    | Yes      |
| getByte(int parameterIndex)                                     | byte       | Yes      |
| getBytes(int parameterIndex)                                    | byte\[\]   | Yes      |
| getClob(int parameterIndex)                                     | Clob       | Yes      |
| getDate(int parameterIndex)                                     | Date       | Yes      |
| getDate(int parameterIndex, Calendar cal)                       | Date       | Yes      |
| getDouble(int parameterIndex)                                   | double     | Yes      |
| getFloat(int parameterIndex)                                    | float      | Yes      |
| getInt(int parameterIndex)                                      | int        | Yes      |
| getLong(int parameterIndex)                                     | long       | Yes      |
| getObject(int parameterIndex)                                   | Object     | Yes      |
| getObject(int parameterIndex, Class\<T\> type)                  | Object     | Yes      |
| getShort(int parameterIndex)                                    | short      | Yes      |
| getSQLXML(int parameterIndex)                                   | SQLXML     | Yes      |
| getString(int parameterIndex)                                   | String     | Yes      |
| getNString(int parameterIndex)                                  | String     | Yes      |
| getTime(int parameterIndex)                                     | Time       | Yes      |
| getTime(int parameterIndex, Calendar cal)                       | Time       | Yes      |
| getTimestamp(int parameterIndex)                                | Timestamp  | Yes      |
| getTimestamp(int parameterIndex, Calendar cal)                  | Timestamp  | Yes      |
| registerOutParameter(int parameterIndex, int type)              | void       | Yes      |
| registerOutParameter(int parameterIndex, int sqlType, int type) | void       | Yes      |
| wasNull()                                                       | Boolean    | Yes      |
   
![](https://support.huaweicloud.com/centralized-devg-v3-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
- 不允许含有OUT参数的语句执行批量操作。
- 以下方法是从java.sql.Statement继承而来：close、execute、executeQuery、executeUpdate、getConnection、getResultSet、getUpdateCount、isClosed、setMaxRows、setFetchSize。
- 以下方法是从java.sql.PreparedStatement继承而来：addBatch、clearParameters、execute、executeQuery、executeUpdate、getMetaData、setBigDecimal、setBoolean、setByte、setBytes、setDate、setDouble、setFloat、setInt、setLong、setNull、setObject、setString、setTime、setTimestamp。
- registerOutParameter(int parameterIndex, int sqlType, int type)方法仅用于注册复合数据类型，其他类型不支持。
 
