歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

在Java語言中調用存儲過程

首先一定要連接數據庫啊 

  1. private static Connection conn;  
  2.     static{  
  3.         //第一步:加載驅動  
  4.             try {  
  5.                 Class.forName("Oracle.jdbc.driver.OracleDriver");  
  6.                 //得到連接對象        conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","scott");  
  7.             } catch (ClassNotFoundException e) {  
  8.                 // TODO Auto-generated catch block  
  9.                 e.printStackTrace();  
  10.             } catch (SQLException e) {  
  11.                 // TODO Auto-generated catch block  
  12.                 e.printStackTrace();  
  13.             }  
  14.     }  

實例一: 

  1. 【  
  2. create or replace procedure selectEmp(emp_no in number,ename out varchar2,job out varchar2,sal out number,deptno out number) is  
  3. begin  
  4. select ename,job,sal,deptno into ename,job,sal,deptno from emp where empno=emp_no;  
  5. end selectEmp;  
  6. 】  
  7. //調用存儲過程  
  8.     public static void procedure() throws SQLException{  
  9.         //創建CallableStatement  參數in  out  通過占位符傳值  
  10.         CallableStatement cas=conn.prepareCall("{call  selectEmp(?,?,?,?,?)}");  
  11.         //從1開始  
  12.         int index = 1;  
  13.         //為占位符賦值  
  14.         cas.setInt(index++, 7369);//賦值的是輸入參數  
  15.         //輸出參數  
  16.         cas.registerOutParameter(index++, oracle.jdbc.OracleTypes.VARCHAR);  
  17.         cas.registerOutParameter(index++, oracle.jdbc.OracleTypes.VARCHAR);  
  18.         cas.registerOutParameter(index++, oracle.jdbc.OracleTypes.NUMBER);  
  19.         cas.registerOutParameter(index++, oracle.jdbc.OracleTypes.NUMBER);  
  20.         //根據傳遞的參數值執行操作       如果第一個結果是 ResultSet 對象,則返回 true;如果第一個結果是更新計數或者沒有結果,則返回 false  
  21.         boolean flag=cas.execute();  
  22.         System.out.println(flag);  
  23.         if(!flag){//執行成功了  
  24.             String ename=cas.getString(2);  
  25.             String job=cas.getString(3);  
  26.             int sal=cas.getInt(4);  
  27.             int deptno=cas.getInt(5);  
  28.             System.out.println(ename);  
  29.             System.out.println(job);  
  30.             System.out.println(sal);  
  31.             System.out.println(deptno);  
  32.         }  
  33.     }  
Copyright © Linux教程網 All Rights Reserved