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

复制代码 代码如下:

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) {

   }

  }

 }

}

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐