oracle pl/sql之在java中调用带有输入输出参数的oracle存储过程

只需注意一点输出参数是用CallableStatement里面的registerOutParameter方法注册进去

 

存储过程:

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

//在java中调用oracle的存储过程
public class JavaCallpro {

public static void main(String[] args) {
  String driver="oracle.jdbc.driver.OracleDriver";
  String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
  String user="scott";
  String password="ztoracle";
  try {
    Class.forName(driver);
    Connection c=DriverManager.getConnection(url, user, password);
    CallableStatement cs=c.prepareCall("{call my_pro(?,?,?)}");
      cs.setString(1, "9527");
      cs.registerOutParameter(2, Types.VARCHAR);
      cs.registerOutParameter(3, Types.VARCHAR);
      cs.execute();
    System.out.println(cs.getString(2));
} catch (ClassNotFoundException e) {
throw new RuntimeException();
} catch (SQLException e) {

}
}

}

posted @ 2015-10-22 16:53  逍遥鸣  阅读(988)  评论(0编辑  收藏  举报