public class TestProcedure { /** * log:记载TestProcedure.class所产生的日志。 */ public TestProcedure() { //default-constructor } /** * mainTODO(这里用一句话描述这个方法的作用)。<br/> * (这里描述这个方法适用条件 – 可选)<br/> * @since 1.0 * @param args */ public static void main(String[] args) { //default-constructor String dbURL = "jdbc:oracle:thin:@127.0.0.1:1521:test"; String user = "yl"; String pwd = "yanglei"; Connection conn = null; CallableStatement cstmt = null; ResultSet rs = null; try{ Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); conn = DriverManager.getConnection(dbURL, user, pwd); //调用存储过程 /*cstmt = conn.prepareCall("{call DotNet.DotNetPagination(?,?,?,?,?)}"); cstmt.registerOutParameter(4,OracleTypes.NUMBER); cstmt.registerOutParameter(5,OracleTypes.CURSOR); cstmt.setInt(1, 1); cstmt.setString(2, "select * from custom"); cstmt.setInt(3, 3); cstmt.execute(); System.out.println(cstmt.getInt(4)); rs = ((OracleCallableStatement)cstmt).getCursor(5); while(rs.next()){ System.out.println("*************************************************"); System.out.println(rs.getString(1)+"--"+rs.getString("NAME")); } */ //调用函数 cstmt = conn.prepareCall("{? = call DotNet.getBank(?)}"); cstmt.registerOutParameter(1,Types.VARCHAR); cstmt.setString(2,"0230000931"); cstmt.execute(); System.out.println(cstmt.getString(1)); }catch(Exception e){ e.printStackTrace(); }finally{ if(cstmt != null && conn != null){ try { cstmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } } 函数带一个返回值,一个参数!