📜  Java如何使用Callable语句调用存储过程?

📅  最后修改于: 2022-05-13 01:54:47.233000             🧑  作者: Mango

Java如何使用Callable语句调用存储过程?

JDBC API 的 CallableStatement 用于调用存储过程。 Callable 语句可以具有输出参数、输入参数或两者。连接接口的 prepareCall() 方法将用于创建 CallableStatement 对象。

Java使用Callable Statement调用存储过程的步骤如下:

1) 加载 MySQL 驱动程序并创建数据库连接。

2)创建一个SQL字符串

我们需要将 SQL 查询存储在一个字符串中。



3) 创建 CallableStatement 对象

连接接口的 prepareCall() 方法将用于创建 CallableStatement 对象。 sql_string 将作为参数传递给 prepareCall() 方法。

4) 设置输入参数

根据查询参数的数据类型,我们可以通过调用 setInt() 或 setString() 方法设置输入参数。

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");
    }
}


输出:

运行代码后的学生表