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

私の入力に基づいてpoemに関するすべての詳細を表示するようにストアドプロシージャを作成したいと思います。どのように私はjavaでこれを呼び出すに行くのですか?Javaでストアドプロシージャを呼び出す

+0

なぜストアドプロシージャを使用したいのですか? – Jens

+0

入力時に取られた詩のすべての詳細を出力するには – neymark

答えて

1

このような呼び出し可能なJDBCステートメントを使用できます。

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(); 

}