`
- 浏览:
483937 次
- 性别:
- 来自:
北京
-
http://wzan315.blog.163.com/blog/static/371926362012224105040773/
本文我们主要介绍了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
定义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;
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();
}
}
}
}
关于Java调用PL/SQL分页过程的代码示例就介绍到这里了,希望本次的介绍能够对您有所帮助。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
1、简单程序 2、限定查询 3、多表查询 4、子查询 5、分页查询 6、单行函数 7、oracle对象操作 8、oracle类型练习 9、java中调用oracle 10、procedure经典练习
oracle分页查询,以及用java、asp.net调用存储过程的示例。 pl/sql测试包内带结果集的存储过程示例。
第1章 全局在胸——用工具对SQL整体优化 1 1.1 都有哪些性能工具 1 1.1.1 不同调优场景分析 2 1.1.2 不同场景对应工具 2 1.2 整体性能工具的要点 4 1.2.1 五大性能报告的获取 5 1.2.2 五大报告关注的要点 10 ...
第1章 全局在胸——用工具对SQL整体优化 1 1.1 都有哪些性能工具 1 1.1.1 不同调优场景分析 2 1.1.2 不同场景对应工具 2 1.2 整体性能工具的要点 4 1.2.1 五大性能报表的获取 5 1.2.2 五大报表关注的要点 10 ...
4.2 调用存储过程对象 4.2.1 CallableStatement对象的创建 4.2.2 IN、OUT及INOUT参数的使用 4.2.3 执行CallableStatement Object对象 4.2.4 CallableStatement对象使用实例 4.2.5 SQL Server存储过程编程经验...
19、用JDBC如何调用存储过程 69 20、JDBC中的PreparedStatement相比Statement的好处 71 21、写一个用jdbc连接实例。 71 22、ArrayList和Vector的区别? 73 23、List、Set和Map的区别? 74 24、Collection 和 ...
可按任意字段排序的分页存储过程(不用临时表的方法,不看全文会后悔) 常用sql存储过程集锦 存储过程中实现类似split功能(charindex) 通过查询系统表得到纵向的表结构 将数据库表中的数据生成Insert脚本的存储过程!!! ...
产品安装过程中将会出现以上2个界面 9. 步骤8/8:完成安装 卸载Oracle 1. 在运行services.msc打开服务,停止Oracle的所有服务。 2. oracle11G自带一个卸载批处理\app\Administrator\product\11.2.0\dbhome_1\...
16.3.2 存储过程的创建与调用 264 16.3.3 存储过程的参数 265 16.3.4 复合语句 267 16.3.5 变量 268 16.3.6 条件语句 269 16.3.7 循环语句 271 16.3.8 游标 273 16.3.9 存储过程的删除 275 16.4 触发器的设计 275 ...
{12.25}PL/SQL}{189}{section.12.25} {13}JDBC}{191}{chapter.13} {13.1}forName}{191}{section.13.1} {13.2}JDBC}{191}{section.13.2} {13.3}连接Oracle数据库及操作}{192}{section.13.3} {13.4}批处理模式}{...
手工刷新快照,(调用DBMS_SNAPSHOT包中的refresh过程)DBMS_SNAPSHOT.refresh(snapshot_name,refresh_type); begin DBMS_SNAPSHOT.REFRESH(\'snap_to_html\',\'c\'); end; 对所有快照进行刷新 begin DBMS_...
--(将sal的查询结果转化为字符串,与ename连接到一起,相当于Java中的字符串连接) 7、select ename||'afasjkj' from emp; --字符串的连接 8、select distinct deptno from emp; --消除deptno字段重复的值 9、...