写一条后端从使用到传参的存储过程调用
时间: 2023-07-04 12:30:17 浏览: 116
调用存储过程
假设我们有一个名为 `get_user_info` 的存储过程,用于获取用户信息。该存储过程需要传入一个名为 `user_id` 的参数,并返回用户的姓名和年龄。在后端调用该存储过程的代码如下所示:
```java
// 使用 JDBC 连接数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password");
// 创建 CallableStatement 对象,用于调用存储过程
CallableStatement cstmt = conn.prepareCall("{call get_user_info(?, ?, ?)}");
// 设置输入参数 user_id
int user_id = 123;
cstmt.setInt(1, user_id);
// 注册输出参数 name 和 age
cstmt.registerOutParameter(2, Types.VARCHAR);
cstmt.registerOutParameter(3, Types.INTEGER);
// 执行存储过程
cstmt.execute();
// 获取输出参数 name 和 age
String name = cstmt.getString(2);
int age = cstmt.getInt(3);
// 关闭连接和 CallableStatement 对象
cstmt.close();
conn.close();
// 输出用户信息
System.out.println("Name: " + name);
System.out.println("Age: " + age);
```
在上述代码中,我们首先使用 JDBC 连接到数据库,然后创建一个 `CallableStatement` 对象,用于调用存储过程。接着,我们设置输入参数 `user_id`,并注册输出参数 `name` 和 `age`。最后,执行存储过程并获取输出参数,最后关闭连接和 `CallableStatement` 对象。
阅读全文