Java如何使用Callable语句调用存储过程?
JDBC API 的 CallableStatement 用于调用存储过程。 Callable 语句可以具有输出参数、输入参数或两者。连接接口的 prepareCall() 方法将用于创建 CallableStatement 对象。
Java使用Callable Statement调用存储过程的步骤如下:
1) 加载 MySQL 驱动程序并创建数据库连接。
import java.sql.*;
public class JavaApplication1 {
public static void main(String[] args) throws Exception
{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(“jdbc:mysql://localhost/root”,”geek”,”geek”);
}
}
2)创建一个SQL字符串
我们需要将 SQL 查询存储在一个字符串中。
String sql_string=”insert into student values(?,?,?)”;
3) 创建 CallableStatement 对象
连接接口的 prepareCall() 方法将用于创建 CallableStatement 对象。 sql_string 将作为参数传递给 prepareCall() 方法。
CallableStatement cs = con.prepareCall(sql_string);
4) 设置输入参数
根据查询参数的数据类型,我们可以通过调用 setInt() 或 setString() 方法设置输入参数。
cs.setString(1,”geek1″);
cs.setString(2,”python”);
cs.setString(3,”beginner”);
5) 调用存储过程
通过调用 CallableStatement 类的 execute() 方法执行存储过程。
Java中使用Callable Statement调用存储过程的例子
Java
// Java program to use Callable Statement
// in Java to call Stored Procedure
package javaapplication1;
import java.sql.*;
public class JavaApplication1 {
public static void main(String[] args) throws Exception
{
Class.forName("com.mysql.jdbc.Driver");
// Getting the connection
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/root", "acm", "acm");
String sql_string = "insert into students values(?a,?,?)";
// Preparing a CallableStateement
CallableStatement cs = con.prepareCall(sql_string);
cs.setString(1, "geek1");
cs.setString(2, "python");
cs.setString(3, "beginner");
cs.execute();
System.out.print("uploaded successfully\n");
}
}
输出: