在Java中怎么调用存储过程

来源:互联网 发布:热传导仿真软件 编辑:程序博客网 时间:2024/05/01 03:16

 以前做开发都是直接写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();
   }
  }
 }
}

 如有不明白的可以问,当然我这并不是在说我有多历害,我只是想让跟我有同样经历的人不要走弯路,能够帮到大家,仅此而已.

 

原创粉丝点击