JAVA跟Oracle之間,最常用的操作就是是Java調用Oracle存儲過程,下面就為您介紹Java如何對Oracle存儲過程進行調用。
Ⅰ、Java調用Oracle存儲過程【不帶輸出參數】
過程名稱為pro1,參數個數1個,數據類型為整形數據。
- import Java.sql.*;
- public class ProcedureNoArgs {
- public static void main(String args[]) throws Exception {
- // 加載Oracle驅動
- DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
- // 獲得Oracle數據庫連接
- Connection conn = DriverManager.getConnection(
- " jdbc:Oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd);
- // 創建存儲過程的對象
- CallableStatement c = conn.prepareCall(" {call pro1(?)} ");
- // 給Oracle存儲過程的參數設置值 ,將第一個參數的值設置成188
- c.setInt(1, 188);
- // 執行Oracle存儲過程
- c.execute();
- conn.close();
- }
- }
Ⅱ、Java調用Oracle存儲過程【帶輸出參數的情況】
過程名稱為pro2,參數個數2個,數據類型為整形數據,返回值為整形類型
- import Java.sql.*;
- public class ProcedureWithArgs {
- public static void main(String args[]) throws Exception {
- // 加載Oracle驅動
- DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
- // 獲得Oracle數據庫連接
- Connection conn = DriverManager.getConnection(
- "jdbc:Oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd);
- // 創建Oracle存儲過程的對象,調用存儲過程
- CallableStatement c = conn.prepareCall("{call pro2(?,?)}");
- // 給Oracle存儲過程的參數設置值 ,將第一個參數的值設置成188
- c.setInt(1, 188);
- // 注冊存儲過程的第二個參數
- c.registerOutParameter(2, Java.sql.Types.INTEGER);
- // 執行Oracle存儲過程
- c.execute();
- // 得到存儲過程的輸出參數值並打印出來
- System.out.println(c.getInt(2));
- conn.close();
- }
- }
以上即是在Java中調用Oracle存儲過程的最簡單的實例。