最近要学习数据库,在用JDBC调用存储过程和存储函数是出现了小麻烦。在MYSQL中,用JDBC调用存储过程和存储函数还是有一些不同的。
一,用JDBC调用存储过程一般过程如下:
String sql = "call proc(?,?)";
CallableStatement cstmt = con.prepareCall(sql); //预处理
cstmt.setString(1, in); //设置输入参数
cstmt.registerOutParameter(2,Types.INTEGER); //设置输出参数
cstmt.execute(); //执行二,用JDBC调用存储函数
由于MYSQL的存储函数没有输出参数,只有返回值,用上面的方法去调用存储函数时会报错,我用下面的方法获取返回参数
String sql = "Select fun(?)";
CallableStatement cstmt = con.prepareCall(sql); //预处理
cstmt.setString(1, in); //设置输入参数
cstmt.execute(); //执行
ResultSet rs=cstmt.getResultSet(); //通过结果集获取存储函数的返回参数
while(rs.next()){
System.out.println(rs.getObject(1));
}
本文介绍了如何使用JDBC在MySQL中调用存储过程和存储函数,并提供了具体的示例代码,包括预处理、参数设置及执行步骤。

4243

被折叠的 条评论
为什么被折叠?



