1 调用存储过程 2 调用存储过程的sql语句 3 {call 过程名称(参数列表)} 4 conn = DbUtils.getConnection(); 5 sql = "{call p_order_approve(?)}"; 6 CallableStatement cs = conn.prepareCall(sql); 7 // 对sql中的占位符赋值 参数有 in out之分 8 // 如果对应位置的参数是in 直接赋值 9 // cs.setInt(1, 10); 10 // 如果参数是 out 那么用 registerOutParameter 赋值 第二个参数是对应的类型 11 // 如果参数即使in 又是out 那么设置两次 12 cs.registerOutParameter(1, Types.INTEGER); 13 cs.execute(); 14 // 获取返回的结果 15 int res = cs.getInt(1); 16 + 17 System.out.println(res); 18 cs.close(); 19 conn.close(); 20 21 22 调用方法 23 conn = DbUtils.getConnection(); 24 sql = "select fun_test1(?) from dual"; 25 PreparedStatement ps = conn.prepareStatement(sql); 26 ps.setInt(1, 101); 27 ResultSet rs = ps.executeQuery(); 28 if(rs.next()){ 29 System.out.println(rs.getString(1)); 30 } 31 DbUtils.close(rs, ps, conn);