博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java调用Oracle的分页存储过程
阅读量:6883 次
发布时间:2019-06-27

本文共 2037 字,大约阅读时间需要 6 分钟。

hot3.png

1. 使用PL/SQL写分页存储过程
2. 使用Java程序调用该存储过程
package com.wujilin.procedure;import java.sql.CallableStatement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMetaData;public class ProcedureTest {	public static void main(String[] args) {		String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";		String username = "scott";		String password = "tiger";		String driver = "oracle.jdbc.driver.OracleDriver";				try {			Class.forName(driver);			Connection conn = DriverManager.getConnection(url, username, password);			String sql = "{call pro(?,?,?,?,?,?)}";			CallableStatement cstmt = conn.prepareCall(sql);			// 设置表名			cstmt.setString(1, "emp");			// 设置每一页的记录数			cstmt.setInt(2, 4);			// 设置当前页			cstmt.setInt(3, 2);			// 注册总共的页数			cstmt.registerOutParameter(4, oracle.jdbc.OracleTypes.INTEGER);			// 注册总共的记录数			cstmt.registerOutParameter(5, oracle.jdbc.OracleTypes.INTEGER);			// 注册结果集			cstmt.registerOutParameter(6, oracle.jdbc.OracleTypes.CURSOR);			// 直接执行:execute()方法即可。			cstmt.execute();			// 将游标强制转换成ResultSet类型。			ResultSet rs = (ResultSet) cstmt.getObject(6);			int pageCount = cstmt.getInt(4);			System.out.println("页数:" + pageCount);			int rowCount = cstmt.getInt(5);			System.out.println("记录数:" + rowCount);			ResultSetMetaData rsmd = rs.getMetaData();			while (rs.next()) {				for (int i = 0; i < rsmd.getColumnCount(); i++) {					System.out.print(rsmd.getColumnLabel(i + 1) + ":" + rs.getObject(i + 1) + ", ");				}				System.out.println();			}		} catch (Exception e) {					}	}}
3. 运行结果
页数:4
记录数:14
EMPNO:7654, ENAME:MARTIN, JOB:SALESMAN, MGR:7698, HIREDATE:1981-09-28, SAL:1250, COMM:1400, DEPTNO:30, RN:5, 
EMPNO:7698, ENAME:BLAKE, JOB:MANAGER, MGR:7839, HIREDATE:1981-05-01, SAL:2850, COMM:null, DEPTNO:30, RN:6, 
EMPNO:7782, ENAME:CLARK, JOB:MANAGER, MGR:7839, HIREDATE:1981-06-09, SAL:26950, COMM:null, DEPTNO:10, RN:7, 
EMPNO:7788, ENAME:SCOTT, JOB:ANALYST, MGR:7566, HIREDATE:1987-04-19, SAL:3000, COMM:null, DEPTNO:20, RN:8,

转载于:https://my.oschina.net/belinwu/blog/112731

你可能感兴趣的文章
Oracle 笔记之高级查询
查看>>
借用批处理文件打开网站
查看>>
ORA-02778 错误
查看>>
去后门免杀ASP***程序集合【最新ASP***】
查看>>
敏感词过滤
查看>>
WEB前端开发规范文档
查看>>
android SQL 语句
查看>>
CSS 行高和对齐
查看>>
Linux性能监测:磁盘IO篇
查看>>
某电商网站数据库宕机故障解决实录(下)
查看>>
修改centos6.7的IP地址
查看>>
STP学习总结
查看>>
使用 Lock Condition 实现产生者消费者
查看>>
第九章 使用组策略管理打印机
查看>>
Lync Server 2013功能部署系列之六 Lync Server 持久聊天服务部署
查看>>
取消GridView/ListView item被点击时的效果
查看>>
12306难抵春运高峰:铁道部启用云计算
查看>>
Cassandra 1.0.0为进军企业做好了准备
查看>>
感悟人生
查看>>
苹果下调iAd广告价格 降至10万美元
查看>>