자바 호출 oracle 저장 프로시저

package com.yinhe.edu; 
  

import java.sql.CallableStatement; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.SQLException; 
import java.sql.Types; 
  

public class CallableStatementTest { 
  

    private String driver ; 
    private String url ; 
    private String username ; 
    private String password ; 
    private Connection conn ; 
    private CallableStatement cstam ; 
    
    public CallableStatementTest() { 
       this . driver = "oracle.jdbc.driver.OracleDriver" ; 
       this . url = "jdbc:oracle:thin:@localhost:1521:ORCL" ; 
       this . username = "scott" ; 
       this . password = "tiger" ; 
    } 
    
    public void callProcedure() throws Exception { 
       try { 
           Class.forName( driver ); 
           conn =DriverManager.getConnection( url , username , password ); 
           cstam = conn .prepareCall( "{call getDnameByDeptno(?,?)}" ); 
           cstam .setInt(1, 10); 
           cstam .registerOutParameter(2, Types. VARCHAR ); 
           cstam .execute(); 
           System. out .println( cstam .getString(2)); 
       } finally { 
if ( cstam != null ){ 
              cstam .close(); 
           } 
           if ( conn != null ){ 
              conn .close(); 
           } 
       } 
    } 
    
    public static void main(String[] args) throws Exception { 
       CallableStatementTest test= new CallableStatementTest(); 
       test.callProcedure(); 
    } 
} 

Oacle 저장 프로시저
create or replace procedure getDnameByDeptno(varDeptno in dept.deptno% type ,varDname out dept.dname% type ) is 

begin 
   select dname 

   into varDname 

   from dept 

   where deptno=varDeptno; 

end getDnameByDeptno; 


좋은 웹페이지 즐겨찾기