Java中调用SQL Server存储过程
时间: 2023-09-03 16:15:15 浏览: 22
Java中调用SQL Server存储过程的步骤如下:
1. 加载数据库驱动程序
在Java程序中,需要先加载SQL Server的JDBC驱动程序,例如:
```
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
```
2. 建立数据库连接
使用JDBC驱动程序提供的DriverManager类建立数据库连接,例如:
```
Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=testdb", "sa", "password");
```
其中,连接字符串"jdbc:sqlserver://localhost:1433;DatabaseName=testdb"中指定了SQL Server的主机名、端口号和数据库名,"sa"和"password"分别是SQL Server的登录名和密码。
3. 创建CallableStatement对象
使用Connection对象的prepareCall方法创建CallableStatement对象,例如:
```
CallableStatement cstmt = conn.prepareCall("{call my_stored_procedure(?, ?)}");
```
其中,"my_stored_procedure"是SQL Server中的存储过程名,"?"是输入参数和输出参数的占位符。
4. 设置输入参数和输出参数
使用CallableStatement对象的set方法设置输入参数和输出参数,例如:
```
cstmt.setString(1, "input_param");
cstmt.registerOutParameter(2, Types.INTEGER);
```
其中,"input_param"是输入参数的值,2是输出参数的位置,Types.INTEGER是输出参数的数据类型。
5. 执行存储过程
使用CallableStatement对象的execute方法执行存储过程,例如:
```
cstmt.execute();
```
6. 获取输出参数的值
使用CallableStatement对象的get方法获取输出参数的值,例如:
```
int output_param = cstmt.getInt(2);
```
其中,2是输出参数的位置,getInt方法返回输出参数的整数值。
7. 关闭数据库连接和CallableStatement对象
使用Connection对象的close方法关闭数据库连接和CallableStatement对象,例如:
```
cstmt.close();
conn.close();
```
完整的Java程序示例:
```
import java.sql.*;
public class CallStoredProcedure {
public static void main(String[] args) {
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=testdb", "sa", "password");
CallableStatement cstmt = conn.prepareCall("{call my_stored_procedure(?, ?)}");
cstmt.setString(1, "input_param");
cstmt.registerOutParameter(2, Types.INTEGER);
cstmt.execute();
int output_param = cstmt.getInt(2);
System.out.println("Output parameter value: " + output_param);
cstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
相关推荐
















