欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle分页存储过程 oracle存储过程实例

程序员文章站 2022-07-20 14:44:28
复制代码 代码如下:import java.sql.callablestatement;import java.sql.connection;import java.sql...

复制代码 代码如下:

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;
   //创建callablestatement
   cs = conn.preparecall("{call page.fenye(?,?,?,?,?,?)}");
   cs.setstring(1, "mytest");//表名
   cs.setint(2, 3);//显示几条记录
   cs.setint(3, 1);//第几页
   //注册总记录数,声明输出参数是什么类型的
   cs.registeroutparameter(4,oracle.jdbc.oracletypes.integer);
   //注册总页数
   cs.registeroutparameter(5,oracle.jdbc.oracletypes.integer);
   //注册返回的结果集
   cs.registeroutparameter(6,oracle.jdbc.oracletypes.cursor);
   cs.execute();
   //取出总记录数 /这里要注意,getint(4)中4,是由该参数的位置决定的
   int rownum=cs.getint(4);//获得输出参数
   int pagecount = cs.getint(5);
   rs=(resultset)cs.getobject(6);

   system.out.println("rownum="+rownum);
   system.out.println("总页数="+pagecount);
   while (rs.next()) {
    system.out.println("编号:"+rs.getint(1)+" 名字:"+rs.getstring(2)+" 密码:"+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) {
   }
  }
 }
}