初学Java调用存储过程返回一行或多行结果集的实例

数据库 SQL Server
本文我们主要介绍了一个Java调用存储过程返回一行或多行结果集的实例,并给出了详细的调用代码,希望能够对您有所帮助。

对于初学Java调用存储过程的人来说,存储过程的调用似乎还是有一点点的难度。本文我们介绍了一个Java调用存储过程返回一行或多行结果集的实例为了要得到结果集,需要使用游标进行遍历。因此要使用数据库中的包。  

现在要根据一个编号得到一行结果集记录。  

1.建立一个包:  

 

  1. create or replace package emp_pkg is    
  2. Type retcursor is ref cursor;    
  3. procedure pro_read(p_id in emp.empno%type,outcursor out retcursor);    
  4. end emp_pkg;  

 

2.建立一个包体。  

 

  1. create or replace package body emp_pkg is    
  2. procedure pro_read(p_id in emp.empno%type,outcursor out retcursor)    
  3. is     
  4. begin     
  5. open outcursor for select * from emp where empno=p_id;    
  6. end;    
  7. end emp_pkg;   

 

3.Java调用包:  

 

  1. public  void getCallableStatement4(){    
  2. CallableStatement cs=null;    
  3. Connection conn=this.getConnection();    
  4. String sql="{call emp_pkg.pro_read(?,?)}";    
  5. try {    
  6. cs=conn.prepareCall(sql);    
  7. cs.setInt(1, 7788);    
  8. cs.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR);    
  9. cs.executeUpdate();    
  10. ResultSet rs=(ResultSet) cs.getObject(2);    
  11. while(rs.next()){    
  12. System.out.println("编号:"+rs.getInt(1)+"  姓名:"+rs.getString(2));    
  13. }    
  14. } catch (SQLException e) {    
  15. // TODO Auto-generated catch block     
  16. e.printStackTrace();    
  17. }    
  18. }   

 

以上就是Java调用存储过程返回一行或多行结果集的实例的全部内容,本文就介绍到这里了,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. SQL Server数据库托管代码的使用详解
  2. 从物理结构上谈一谈SQL Server数据库的优化
  3. MongoDB Replica Sets和Auto Sharding配置简介
  4. MySQL性能优化之使用Limit关键字来避免全表扫描
  5. SQL Server 2008 R2命名故障转移群集的实例解析
责任编辑:赵鹏 来源: CSDN博客
相关推荐

2011-08-23 10:14:09

JDBC更新计数行调用存储过程SQL Server

2011-08-25 09:31:43

JDBC调用Oracl

2011-08-29 15:52:19

SQL ServerMybatis存储过程

2010-01-08 13:23:38

ibmdwInfoSphere

2011-08-18 17:32:40

Oracle存储过程利用游标返回结果集

2009-09-17 10:27:55

linq存储过程

2020-08-24 08:25:48

Python开发工具

2010-11-10 15:16:14

Sql Server分

2010-11-29 09:34:39

Sybase数据库存储

2011-08-22 10:15:39

数据库存储过程

2010-03-30 13:30:49

Oracle存储

2009-07-08 17:42:33

JDBC存储过程

2010-05-07 13:03:01

Oracle通过存储过

2020-04-01 08:51:47

注释字符代码

2009-06-19 16:22:55

Java存储过程

2010-10-26 14:40:31

oracle存储过程

2021-07-26 10:32:54

MySQL数据库存储

2011-08-25 11:36:50

PreparedStaJDBC存储过程调用

2011-07-19 17:33:53

存储过程javaibatis

2012-03-01 13:34:02

Java
点赞
收藏

51CTO技术栈公众号