jdbc调用mysql存储过程实现代码带有输入和输出

Posted testway

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdbc调用mysql存储过程实现代码带有输入和输出相关的知识,希望对你有一定的参考价值。

转载自 http://www.jb51.net/article/34747.htm

1. 创建存储过程 
建立一个mysql的存储过程 add_pro 

复制代码代码如下:

delimiter // 
drop procedure add_pro // 
create procedure add_pro(a int , b int , out sum int ) 
begin 
set sum = a * b; 
end; 
// 


2. 调用存储过程 

复制代码代码如下:

package com.zhanggaosong; 
import java.sql.CallableStatement; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.Types; 
public class CallableStatementTest { 
public static final String DRIVER_CLASS = "com.mysql.jdbc.Driver"; 
public static final String URL = "jdbc:mysql://127.0.0.1:3306/test"; 
public static final String USERNAME = "root"; 
public static final String PASSWORD = "123456"; 
public static void main(String[] args) throws Exception { 
Class.forName(DRIVER_CLASS); 
Connection connection = DriverManager.getConnection(URL, USERNAME, 
PASSWORD); 
String sql = "{CALL add_pro(?,?,?)}"; //调用存储过程 
CallableStatement cstm = connection.prepareCall(sql); //实例化对象cstm 
cstm.setInt(1, 122); 
cstm.setInt(2, 2); // 
cstm.registerOutParameter(3, Types.INTEGER); // 设置返回值类型 
cstm.execute(); // 执行存储过程 
System.out.println(cstm.getInt(3)); 
cstm.close(); 
connection.close(); 

以上是关于jdbc调用mysql存储过程实现代码带有输入和输出的主要内容,如果未能解决你的问题,请参考以下文章

JDBC对MySQL数据库存储过程的调用

Java Spring JDBC 调用存储过程(Stored Procedure) 输入(In)输出(Out)参数

带有 PL SQL 表类型参数的 Oracle 存储过程的 JDBC 调用

Java数据库连接——JDBC调用存储过程,事务管理和高级应用

如何使用 JDBC 调用带有命名参数的 Sybase 存储过程

如何将 JDBC4PreparedStatement 与期望 OUT 参数的 MySQL 存储过程一起使用?