您的位置:首页 > 数据库 > MySQL

JDBC-MYSQL-存储函数和存储过程的调用

2016-11-15 13:45 309 查看
最近要学习数据库,在用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));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库