OceanBase
English日本語简体中文
Docs Home
Products
Integrations
Release Notes

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service
OceanBase DatabaseOceanBase Cloud ToolsConnectors and MiddlewareLifecycle Support Policy

OceanBase Connector/J

V2.4.1
  • What is OceanBase Connector J?
    • Compatibility requirements
    • Overview of OceanBase Connector/J
  • Install Driver
    • Install and load the OceanBase Connector/J driver
  • Instructions
    • Quick start
      • Import packages
      • Create a database connection
      • Create a Statement object
      • Run queries and retrieve ResultSet objects
      • Process ResultSet objects
      • Close ResultSet and Statement objects
      • Manage tables and data
      • Commit changes
      • Close a database connection
      • Example
    • Data sources and URL
      • Data source overview
      • Data source characteristics and properties
      • Create and connect to a data source instance
      • Database URL
    • Java data streams
      • Overview of Java data streams
      • LONG and LONG RAW data types
      • Use LOBs
        • Overview of LOB data types
        • LOB data interface
        • LOB locator API
      • CHAR, VARCHAR, and RAW data types
    • Statement caching
      • Overview of statement caching
      • Use statement caching
      • Reuse statement objects
    • Use CallableStatements to call stored procedures
    • Handle SQL exceptions
    • Result set
      • Overview of result sets
      • Limits
      • FetchSize
      • refreshRow
      • useCursorFetch
    • Batch processing
    • Failover and Load-Balancing
      • Failover and load balancing modes
      • LoadBalance strategies
      • LoadBalance strategies configuration methods
    • Security features
    • SQL NetworkCostInfo
    • Troubleshooting
  • Reference
    • Features specific to the Oracle mode
      • Binary Protocol (Prepared Statements)
        • COM_STMT_PREPARE_EXECUTE
        • COM_STMT_SEND_PIECE_DATA
      • Call PL stored procedures
      • Result set performance
      • Use ARRAY and STRUCT classes
      • Distributed transactions
        • Overview of distributed transactions
        • XA components
        • Distributed transaction examples
      • Error messages in Oracle mode
      • Get remarks information
      • Data types supported in Oracle mode
    • Supported SQL and PL data types
    • Common APIs
      • Overview of common APIs
      • java.sql.Connection
      • java.sql.CallableStatement
      • java.sql.DatabaseMetaData
      • java.sql.Driver
      • java.sql.PreparedStatement
      • java.sql.ParameterMetaData
      • java.sql.ResultSet
      • java.sql.ResultSetMetaData
      • java.sql.Statement
      • javax.sql.ConnectionPoolDataSource
      • javax.naming.Context
      • javax.sql.PooledConnection
  • Release Notes
    • V2.4
      • OceanBase Connector/J V2.4.1
      • OceanBase Connector/J V2.4.0
    • V2.2
      • OceanBase Connector/J V2.2.11
      • OceanBase Connector/J V2.2.10
      • OceanBase Connector/J V2.2.7
      • OceanBase Connector/J V2.2.6
      • OceanBase Connector/J V2.2.3
      • OceanBase Connector/J V2.2.0

Download PDF

Document Feedback
  1. Documentation Center
  2. OceanBase Connector/J
  3. V2.4.1

Use CallableStatements to call stored procedures

Last Updated:2026-09-04 08:24:25

You can call the CallableStatement interface of OceanBase Connector/J to call stored procedures.

CallableStatement enables you to call statements to execute stored procedures by using the executeUpdate(), executeQuery(), or execute() method. execute() is the most flexible call method, because it does not require advance information on whether the stored procedures will return result sets.

In the following example, the stored procedure obSp returns an inOutParam value that increments on the base 1 and a string passed in by using inputParam as ResultSet.

CREATE PROCEDURE obSp(IN inputParam VARCHAR(100),
                        INOUT inOutParam INT)
BEGIN
    DECLARE n INT;
    SET n = inOutParam + 1;
    SET inOutParam = n;

    SELECT inputParam;

    SELECT CONCAT('zhang', inputParam);
END

To call the obSp stored procedure in the example, perform the following steps:

  1. Prepare a callable statement by using the Connection.prepareCall() method.

    For example,

    import java.sql.CallableStatement;
    ...
    
        CallableStatement cSt = conn.prepareCall("{call obSp(?, ?)}");
    
        cSt.setString(1, "asdfg");
    
  2. Register output parameters, if any.

    To retrieve the values of the output parameters (the OUT or INOUT parameters specified when the stored procedure was created), OceanBase Connector/J requires that the values of the output parameter be specified by using the registerOutputParameter() method in the CallableStatement operation. For example,

    import java.sql.Types;
    ...
        cSt.registerOutParameter(2, Types.INTEGER);
    
        cSt.registerOutParameter("inOutParam", Types.INTEGER);
    ...
    
  3. Set input parameters, if any.

    Input and input/output parameters are set in the same way as the PreparedStatement object. For example,

         cSt.setString(1, "asdfg");
    
         cSt.setInt(2, 1);
    ...
    
  4. Execute CallableStatement and retrieve any result sets or output parameters.

    For example,

    ...
        boolean obResults = cSt.execute();
    
           while (obResults) {
            ResultSet rs = cSt.getResultSet();
            ...
            obResults = cSt.getMoreResults();
        }
        int outputValue = cSt.getInt(2); 
        outputValue = cSt.getInt("inOutParam"); 
    ...
    

Previous topic

Reuse statement objects
Last

Next topic

Handle SQL exceptions
Next