Java调用PL/SQL分页存储过程的代码示例

数据库 Oracle
本文我们主要介绍了Java调用PL/SQL分页存储过程的代码示例,通过这个示例让我们来了解一下Java调用存储过程实现分页的过程,希望能够对您有所帮助。

Java调用PL/SQL分页存储过程的代码示例是本文我们主要要介绍的内容,我们首先给出了PL/SQL分页的存储过程的代码,然后定义SQL语句和字符串,***介绍了Java调用的代码,接下来就让我们一起来了解一下这部分内容吧。

PL/SQL分页存储过程:

create or replace procedure fenye  
(tableName in varchar2,  --表名  
page_size in number,   --每页显示记录数  
pageNow  in number, --当前页   
myrows  out number, -- 总记录数  
myPageCount out number, --总页数  
my_cursor out my_new_pack.test_cursor --返回的结果集  
)is    
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

 

定义SQL 语句和字符串:

v_sql varchar2(1000);  
v_begin number := (pageNow-1)*page_size+1;  
v_end number :pageNow*page_size;  
begin  
v_sql :=  'select * from (select t1.*,rownum rn from (select * from '||tableName  
||')t1 where rownum<='||v_end||' )where rn>='||v_begin;  
open my_cursor for v_sql;  
v_sql :='select count(*) from '|| tableName;  
execute immediate v_sql into myrows;  
if mod(myrows,page_size) =0 then   
myPageCount :myrows/page_size;  
else myPageCount :myrows/page_size+1;  
end if;  
end; 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

JAVA调用代码:

import java.sql.*;  
public class test {  
/**  
* @param args  
*/  
public static void main(String[] args) {  
// TODO Auto-generated method stub  
Connection conn = null;  
CallableStatement cs = null;  
ResultSet rs =null;  
try{  
Class.forName("oracle.jdbc.driver.OracleDriver");  
conn = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:kelvin111G2","system","MANAGER");  
cs = conn.prepareCall("{call fenye(?,?,?,?,?,?)}");  
cs.setString(1, "scott.emp");  
cs.setInt(2, 5);  
cs.setInt(3, 2);  
cs.registerOutParameter(4,oracle.jdbc.OracleTypes.INTEGER);  
   cs.registerOutParameter(5,oracle.jdbc.OracleTypes.INTEGER);  
   cs.registerOutParameter(6,oracle.jdbc.OracleTypes.CURSOR);  
   cs.execute();  
   System.out.println("总记录数为"+cs.getInt(4));  
   System.out.println("总页数"+cs.getInt(5));  
   rs = (ResultSet)cs.getObject(6);  
   while(rs.next()){  
    System.out.println(rs.getInt(1)+"==="+rs.getString(2)+"==="+rs.getString(3));  
   }  
   }catch(Exception e){  
   e.printStackTrace();  
  }finally{  
    try {  
     rs.close();  
     cs.close();  
     conn.close();  
    } catch (SQLException e) {  
     // TODO Auto-generated catch block  
     e.printStackTrace();  
    }  
  }   
 }  
}  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.

关于Java调用PL/SQL分页过程的代码示例就介绍到这里了,希望本次的介绍能够对您有所帮助。

【编辑推荐】

  1. 适合初学者的MySQL学习笔记之库操作示例
  2. 适合初学者的MySQL学习笔记之表操作示例
  3. 适合初学者的MySQL学习笔记之MySQL管理心得
  4. 适合初学者的MySQL学习笔记之MySQL查询示例
  5. 适合初学者的MySQL学习笔记之管理员常用操作总结
责任编辑:赵鹏 来源: CSDN博客
相关推荐

2011-08-22 10:15:39

数据库存储过程

2010-11-10 15:16:14

Sql Server分

2011-06-17 17:37:16

JavaSQL Server

2010-04-12 09:26:52

Oracle查询分页

2011-08-12 11:22:53

Oracle存储过程Java

2009-08-06 16:18:38

C#调用SQL存储过程

2011-03-24 13:38:47

SQL Server 存储分页

2009-06-02 10:42:31

PLSQL动态SQL

2010-11-12 09:46:55

Sql Server存

2010-06-02 16:49:24

MySQL存储过程

2011-03-28 10:46:36

sql server存储分页

2012-05-10 11:17:23

JavaSQL Server

2015-08-19 14:18:56

SQLasp.net后台调用

2010-09-14 10:47:45

sql server存

2011-09-01 17:25:03

SQL Server 查看死锁存储过程

2010-05-06 14:01:12

Oracle分页存储过

2010-04-16 11:31:29

Oracle分页存储过

2010-06-30 14:36:49

SQL Server

2010-09-09 09:49:18

SQL函数存储过程

2010-06-18 10:34:38

SQL Server
点赞
收藏

51CTO技术栈公众号