以前做开发都是直接写SQL语句,最近这个工程领导要求凡是跟数据库交互的都要用存储过程,开始还遇到了一些困难,但还是搞定了,现在在这把我的成果告诉大家,与大家一起分享,有句话说得好啊,一个人乐那不叫乐,大家乐那才是真的乐,现在告诉大家在Java类中怎么调用存储过程,我用的是Oracle数据库,先建好存储过程,然后建一个类
package com.rj.service;
import java.sql.*;
/**
* 调用储存过程测试
* @author Administrator
*
*/
public class Test {
public Test() {
}
public void tt(){
}
public static void main(String[] args ){
String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:Ora9 ";
Connection conn = null;
//CallableStatement cstmt = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, "scott", "tiger");
CallableStatement proc = null;
//调用存储过程UpdateUser是过程名,?代表参数个数
String sql = "{call UpdateUser(?) }";
proc = conn.prepareCall(sql);
proc.setString(1, "001");
proc.execute();
}
catch (SQLException ex2) {
ex2.printStackTrace();
}
catch (Exception ex2) {
ex2.printStackTrace();
}
finally
{
try {
if(conn!=null)
{
conn.close();
}
}
catch (SQLException ex1) {
ex1.printStackTrace();
}
}
}
}
如有不明白的可以问,当然我这并不是在说我有多历害,我只是想让跟我有同样经历的人不要走弯路,能够帮到大家,仅此而已.