JDBC调用存储过程,进参出参

Posted 222nbsp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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         }

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

以上是关于JDBC调用存储过程,进参出参的主要内容,如果未能解决你的问题,请参考以下文章

PHP如何调用SQLServer2012的存储过程并获取返回结果集及出参?

[java]如何通过AOP打日志

mysql 存储过程执行异常,参数不是出参

从零开始,徒手撸一个简单的 RPC 框架,轻松搞定!

Java调用SQL Server的存储过程详解(转)

关于jdbc调用存储过程的问题