oracle Paging Stored Procedure oracle Stored Procedure Instance

  • 2021-10-25 08:12:30
  • OfStack


import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestPage {

 public TestPage() {
 }
 public static void main(String[] args) {
  String driver = "oracle.jdbc.driver.OracleDriver";
  String strUrl = "jdbc:oracle:thin:@localhost:1521:xmgl";
  String username = "xmgl";
  String password = "xmgl";
  Statement stmt = null;
  ResultSet rs = null;
  Connection conn = null;
  try {
   Class.forName(driver);
   conn = DriverManager.getConnection(strUrl, username, password);
   System.out.println("ok");
   CallableStatement cs = null;
   // Create CallableStatement
   cs = conn.prepareCall("{call page.fenye(?,?,?,?,?,?)}");
   cs.setString(1, "mytest");// Table name 
   cs.setInt(2, 3);// Show several records 
   cs.setInt(3, 1);// What page 
   // Total number of registered records , Declare what type of output parameter is  
   cs.registerOutParameter(4,oracle.jdbc.OracleTypes.INTEGER);
   // Total number of registered pages 
   cs.registerOutParameter(5,oracle.jdbc.OracleTypes.INTEGER);
   // Register the returned result set 
   cs.registerOutParameter(6,oracle.jdbc.OracleTypes.CURSOR);
   cs.execute();
   // Total number of records taken out  / Note here that, getInt(4) Medium 4 Is determined by the position of the parameter 
   int rowNum=cs.getInt(4);// Obtain output parameters 
   int pageCount = cs.getInt(5);
   rs=(ResultSet)cs.getObject(6);

   System.out.println("rowNum="+rowNum);
   System.out.println(" Total pages ="+pageCount);
   while (rs.next()) {
    System.out.println(" Number: "+rs.getInt(1)+"  Name: "+rs.getString(2)+"  Password: "+rs.getString(3));
   }
  } catch (SQLException ex2) {
   ex2.printStackTrace();
  } catch (Exception ex2) {
   ex2.printStackTrace();
  } finally {
   try {
    if (rs != null) {
     rs.close();
     if (stmt != null) {
      stmt.close();
     }
     if (conn != null) {
      conn.close();
     }
    }
   } catch (SQLException ex1) {
   }
  }
 }
}


Related articles: