关于JDBC 调用存储过程

JDBC 调用存储过程

调用无参的存储过程

//存储过程调用 SQL 语句必须用{call 过程名称()}
String sql = "{call pro_insert()}";
// 获取 jdbc 连接对象
conn = DriverManager.getConnection(url,user,password);
//过程的调用使用 CallableStatement 对象
CallableStatement stmt = conn.prepareCall(sql);
// 执行过程
stmt.execute();

调用带输入参数的存储过程

//通过?号占位符
String sql = "{call mypro(?,?)}";
conn = DriverManager.getConnection(url,user,password);
CallableStatement stmt = conn.prepareCall(sql);
//设置输入参数
stmt.setInt(1,7788); 
stmt.setInt(2,3000);
stmt.execute();

调用输入输出参数的存储过程

// 带入参和出参过程的形式 query_sal(v_id in number,v_sal out number)
String sql = "{call query_sal(?,?)}";
CallableStatement stmt = conn.prepareCall(sql);
// 入参赋值
stmt.setInt(1, 7369);
//向过程注册一个 int 类型的输出参数
stmt.registerOutParameter(2,Types.INTEGER);
stmt.execute();
//通过 stmt 对象取出输出参数
int sal = stmt.getInt(2);
System.out.println(sal);

更多相关知识,请戳主页!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章