2017-11-27 7 views
-1
delimiter// 
create procedure SearchByTitle(IN var1(50),OUT output varchar(500)) 
Begin 
Select * From Poem; 
End// 

입력에 따라 poem의 모든 세부 정보를 표시하도록 저장 프로 시저를 만들려고합니다. 어떻게 내가 자바에서 이것을 호출 할 것인가?Java에서 저장 프로 시저 호출

+0

저장 프로 시저로 수행하려는 이유는 무엇입니까? – Jens

+0

입력시 가져온시의 모든 내용을 출력하려면 – neymark

답변

1

이와 같이 Callable JDBC Statement를 사용할 수 있습니다.

public static void main(String[] args) throws Exception { 
    String driver = "oracle.jdbc.driver.OracleDriver"; 
    Class.forName(driver).newInstance(); 

    System.out.println("Connecting to database..."); 
    String jdbcUrl = "jdbc:oracle:thin:@localhost:1521:ORCL"; 
    Connection conn = DriverManager.getConnection(jdbcUrl, "yourName", "mypwd"); 

    //callable statement 
    CallableStatement cstmt = conn.prepareCall("{call SearchByTitle(?,?)}"); 
    cstmt.setInt(1, "first param value"); 
    cstmt.registerOutParameter(2, java.sql.Types.VARCHAR); 
    cstmt.execute(); 

    //getting output param value 
    String empName = cstmt.getString(2); 
    System.out.println(empName); 

    conn.close(); 

}