zoukankan      html  css  js  c++  java
  • JDBC调用存储过程,进参出参

    今天做了一个数据表拷贝的功能,用到了存储过程,就写了一个java中用jdbc调用存储过程的代码,成功的实现了功能,晚上跑回家记录下

     1 Connection conn = ConnectionUtil.getConnect();//取得数据库连接
     2 
     3 try {
     4             CallableStatement cstmt = conn.prepareCall("{call prc_patch_config(?,?,?,?)}");//根据存储过程名字调用存储过程,?代表参数
     5             /**
     6              * 第3个、第4个?表示输出参数,所以在这里要声明输出类型
     7              */
     8             cstmt.registerOutParameter(3, Types.INTEGER);//这个参数值得是数据复制成功(0)或者失败(1)的状态位。所以类型INTEGER来
     9             cstmt.registerOutParameter(4, Types.VARCHAR);//这个参数值是存储过程报错信息
    10             /**
    11              * 1、2为进参,在这个程序中1代表的是批次号,2代表的 是表名
    12              */
    13             cstmt.setString(1, (String) params.get("patchCode"));
    14             cstmt.setString(2, (String) params.get("tableEnName"));
    15             cstmt.execute();//执行存储过程
    16             int isSuccess = cstmt.getInt(3);//取得是否成功的信息
    17             log = cstmt.getString(4);//取得报错信息
    18             
    19         } catch (SQLException e) {
    20             e.printStackTrace();
    21             
    22         }finally {
    23             try {
    24                 conn.close();//关闭连接
    25             } catch (SQLException e) {
    26                 e.printStackTrace();
    27             }
    28         }

    以上就是我自己写的调用存储过程的代码,加了注释,怕自己以后看不懂

  • 相关阅读:
    SpringMVC 拦截器
    Download And Uploader
    Spring 作用域传值
    Spring MVC 视图解析 VIEW
    SpringMVC自动注入
    cmake编译opencv4项目遇到opencv_found set to false问题
    vscode配置c++开发环境
    CMakeLists.txt样本
    mysql5.7高版本加载低版本sql文件,时间不能为0000-00-00格式错误
    log4j.properties配置
  • 原文地址:https://www.cnblogs.com/zhyStudy/p/7642991.html
Copyright © 2011-2022 走看看