java oracle分页_oracle 分页存储过程和java代码
create or replace procedure contfenyePro(
v_in_tablename in varchar2,
v_in_pagesize in number,
v_in_pagenow in number,
v_in_order in varchar2,
v_out_rows out number,
v_out_counts out number,
v_out_result out pack1.my_cursor ) is
--定义变量
v_sql varchar2(2000);
v_start number;
v_end number;
begin
--execute
v_start:=v_in_pagesize*(v_in_pagenow-1)+1;
v_end:=v_in_pagesize*v_in_pagenow;
v_sql:='select t2.* from (select t1.*,rownum rn from (select * from '||v_in_tablename||' order by '||v_in_Order||') t1 where rownum<='||v_end||') t2 where rn>='||v_start;
open v_out_result for v_sql;
--计算v_out_rows和v_out_counts
--组织一个sql 语句
v_sql:='select count(*) from '||v_in_tablename;
--执行sql,并把返回的值,赋给myrows;
execute immediate v_sql into v_out_rows;
--计算myPageCount
if mod(v_out_rows,v_in_pagesize)=0 then
v_out_counts:=v_out_rows/v_in_pagesize;
else
v_out_counts:=v_out_rows/v_in_pagesize+1;
end if;
end;
package com.cc.utils;
import java.sql.*;
public class TestProcedure3 {
public TestProcedure3() {
}
public static void main(String[] args ){
String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@172.16.0.136:1521:ccz";
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
CallableStatement ps = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, "scott", "tiger");
ps = conn.prepareCall("{ call contfenyePro(?,?,?,?,?,?,?) }");
ps.setString(1, "emp");
ps.setInt(2,3);
ps.setInt(3, 3);
ps.setString(4,"sal desc");
ps.registerOutParameter(5, oracle.jdbc.OracleTypes.INTEGER);
ps.registerOutParameter(6, oracle.jdbc.OracleTypes.INTEGER);
ps.registerOutParameter(7, oracle.jdbc.OracleTypes.CURSOR);
ps.execute();
rs = (ResultSet) ps.getObject(7);
while(rs.next()){
System.out.println("用户名是:"+rs.getString("ename")+"薪水是:"+rs.getString("sal"));
}
//取出记数
int rowCount=ps.getInt(5);
int pageCount=ps.getInt(6);
System.out.println("总记录:"+rowCount);
System.out.println("总页数:"+pageCount);
}
catch (Exception ex2) {
ex2.printStackTrace();
}
finally{
try {
if(rs != null){
rs.close();
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
}
catch (Exception ex1) {
ex1.printStackTrace();
}
}
}
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26495863/viewspace-1324011/,如需转载,请注明出处,否则将追究法律责任。
java oracle分页_oracle 分页存储过程和java代码相关推荐
- oracle存储过程生成单号,Oracle生成单据编号存储过程的实例代码
Oracle生成单据编号存储过程,在做订单类似的系统都可能会存在订单编号不重复,或是流水号按日,按年,按月进行重新编号. 可以参考以下存储过程 CREATE OR REPLACE procedure ...
- oracle存储过程插入自动编号,Oracle生成单据编号存储过程的实例代码
Oracle生成单据编号存储过程,在做订单类似的系统都可能会存在订单编号不重复,或是流水号按日,按年,按月进行重新编号. 可以参考以下存储过程 0 then if DIsAutoCreate=1 TH ...
- oracle的pl/sql存储过程调用java soure来判断文件夹下某个文件是否存在
oracle版本是9i 首先创建java soure create or replace and compile java source named existsfile as import java ...
- java实现报表_用存储过程和 JAVA 写报表数据源有什么弊端?
用存储过程和 JAVA 写报表数据源有什么弊端?跟着小编一起来一看一下吧! 我们在报表开发中经常会使用存储过程准备数据,存储过程支持分步计算,可以实现非常复杂的计算逻辑,为报表开发带来便利.所以,报表 ...
- java oracle数据库高效分页查询_oracle高效分页查询总结
探索查询语句: --分页参数:size = 20 page = 2 --没有order by的查询 -- 嵌套子查询,两次筛选(推荐使用) --SELECT * -- FROM (SELECT ROW ...
- java oracle数据库高效分页查询_Oracle学习之分页查询数据
Oracle的分页是不同于MySQL的,今天我们来讨论一下Oracle的分页,首先得知道两个概念 rowid和rownum 什么鬼?有鸟用啊? 我们从字面的英文翻译可以知道rowid是 "行 ...
- java web oracle 分页_Oracle分页的两种方式
第一种: select b.* from (select rownum as rid, a.* from om_cm_book_hotword a) b where b.rid <= 10 an ...
- java oracle 流水号_Oracle生成流水号函数
一.参考 1:日期范围上 smalldatetime的有效时间范围1900/1/1~2079/6/6 datetime的有效时间范围1753/1/1~9999/12/31 2:精准度上 smallda ...
- oracle 字典_Oracle只读用户通过JAVA应用程序导出其它用户数据最小权限
测试目的:通过只读用户导出其它用户数据的最小权限要求. 测试场景:通过只读用户B,导出A用户全部数据,再将数据导入到读写用户C 测试结论:通过只读用户导出其它用户数据的最小权限清单: create s ...
最新文章
- 工具栏对象GUI Status 与GUI Title
- mysql复制架构迁移到pxc_mysql复制(高可用架构方案的基础)
- 引入JQuery提示:Uncaught ReferenceError: $ is not defined
- Acess link
- 近似乘积(jzoj 3925)
- HDU 3605Escape(缩点+网络流之最大流)
- 是什么决定了我们以何种方式赚钱?
- SpringBoot集成MyBatis-Plus框架
- 日赚4.5亿!腾讯游戏业务增长惊人:最赚钱的还是它两!
- [转]麻省理工学院(MIT)研究生学习指导[上]
- java url解码_如何从REST WebService 调用中解码路径参数
- 拒绝版权流氓!阿里巴巴重磅发布免费商用字体
- [对于蓝桥杯要说的一二体会]
- WIN7内部版本7600.此WINDOWS副本不是正版---解决方法
- 国家网信办《网络数据安全管理条例(征求意见稿)》为企业带来哪些新思考?
- 使用JavaScript使浏览器进入全屏或退出全屏
- 经典分割线 html分割线
- FFmpeg音频解码-音频可视化
- 实践应用|PyQt5制作雪球网股票数据爬虫工具
- java语言实现修改文件名称的功能
热门文章
- 无法打开锁文件 /var/lib/dpkg/lock - open (13: 权限不够) 无法对状态列表目录加锁(/var/lib/dpkg/),请查看您是否正以 root 用户运行?
- android 固定底部,如何将view固定在屏幕底部?
- 深度学习:知识回收(Lecture3+4 PLA+Decision Tree)
- 视频目标检测--Flow-Guided Feature Aggregation for Video Object Detection
- 解决AttributeError: module ‘tensorflow_core._api.v2.config‘ has no attribute ‘experimental_list_device
- 一个好用的C++的json库
- portlet java_探秘企业门户开发:Java Portlet入门(2)
- benchmarksql测试mysql_数据库压力测试工具 -- BenchmarkSQL 使用说明
- java批量下载文件为zip包
- SpringBoot监听redis订阅监听和发布订阅