天天看點

[Java] JDBC 04 TestProc.java (對存儲過程進行調用 CallableStatement)

call p(?, ?, ?, ?)}");     p 是 procedure 的名字 ,  視訊講解來自馬士兵 : 11_JDBC處理存儲過程, 我還不是很明白,因為沒有實踐過這個過程,以後看,SQL過程。

import java.sql.*;

public class TestProc {

    /**
     * @param args
     */
    public static void main(String[] args) throws Exception {

        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection conn = DriverManager.getConnection(
                "jdbc:oracle:thin:@192.168.0.1:1521:SXT", "scott", "tiger");
        CallableStatement cstmt = conn.prepareCall("{call p(?, ?, ?, ?)}");
        cstmt.registerOutParameter(3, Types.INTEGER);
        cstmt.registerOutParameter(4, Types.INTEGER);
        cstmt.setInt(1, 3);
        cstmt.setInt(2, 4);
        cstmt.setInt(4, 5);
        cstmt.execute();
        System.out.println(cstmt.getInt(3));
        System.out.println(cstmt.getInt(4));
        cstmt.close();
        conn.close();
    }

}