调用存储过程
调用存储过程的sql语句
{call 过程名称(参数列表)}
conn = DbUtils.getConnection();
sql = "{call p_order_approve(?)}";
CallableStatement cs = conn.prepareCall(sql);
// 对sql中的占位符赋值 参数有 in out之分
// 如果对应位置的参数是in 直接赋值
// cs.setInt(1, 10);
// 如果参数是 out 那么用 registerOutParameter 赋值 第二个参数是对应的类型
// 如果参数即使in 又是out 那么设置两次
cs.registerOutParameter(1, Types.INTEGER);
cs.execute();
// 获取返回的结果
int res = cs.getInt(1);
+
System.out.println(res);
cs.close();
conn.close();
调用方法
conn = DbUtils.getConnection();
sql = "select fun_test1(?) from dual";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, 101);
ResultSet rs = ps.executeQuery();
if(rs.next()){
System.out.println(rs.getString(1));
}
DbUtils.close(rs, ps, conn);