zoukankan      html  css  js  c++  java
  • Java调用存储过程(有返回值)

    1:创建存储过程

    此存储过程通过传入的参数(Name),返回一个参数(address)。

    create or replace procedure demo_procedure(namedemo in varchar2,addressdemo out varchar2)
    as
    begin 
    select address into addressdemo from system.demo where name=namedemo;
    end;

    2:Java代码:

    import java.sql.CallableStatement;  
    import java.sql.Connection;  
    import java.sql.DriverManager;  
    import java.sql.ResultSet;  
    import java.sql.SQLException;  
    import java.sql.Statement;  
    import java.sql.Types;  
      
    public class TestProcedureTwo {  
      public TestProcedureTwo() {  
      }  
      public static void main(String[] args ){  
        String driver = "oracle.jdbc.driver.OracleDriver";  
        String strUrl = "jdbc:oracle:thin:@localhost:1521:myoracle";  
        Statement stmt = null;  
        ResultSet rs = null;  
        Connection conn = null;  
        try {  
          Class.forName(driver);  
          conn =  DriverManager.getConnection(strUrl, "system", "admin");  
          CallableStatement proc = null;  
          proc = conn.prepareCall("{ call dem_procedure(?,?) }");  
          proc.setString(1, "kalision");  
          proc.registerOutParameter(2, Types.VARCHAR);  
          proc.execute();  
          String testPrint = proc.getString(2);  
          System.out.println("存储过程返回的值是:"+testPrint);  
        }  
        catch (SQLException ex2) {  
          ex2.printStackTrace();  
        }  
        catch (Exception ex2) {  
          ex2.printStackTrace();  
        }  
        finally{  
          try {  
            if(rs != null){  
              rs.close();  
              if(stmt!=null){  
                stmt.close();  
              }  
              if(conn!=null){  
                conn.close();  
              }  
            }  
          }  
          catch (SQLException ex1) {  
          }  
        }  
      }  
    }  

    注意:记得导入jdbc驱动的jar包。

  • 相关阅读:
    C语言-结构体内存对齐
    Wireshark-配合tcpdump对Android(安卓)手机抓包
    Python-技巧
    矩阵白化
    非负矩阵分解(3):拉格朗日乘子法求解
    非负矩阵分解(2):算法推导与实现
    非负矩阵分解(1):准则函数及KL散度
    自适应滤波:递归最小二乘
    自适应滤波:最小二乘法
    自适应滤波:奇异值分解SVD
  • 原文地址:https://www.cnblogs.com/qyb-bk/p/6767525.html
Copyright © 2011-2022 走看看