美图齐众专注资阳网站设计 资阳网站制作 资阳网站建设
资阳网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

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

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

创新互联专业为企业提供乌什网站建设、乌什做网站、乌什网站设计、乌什网站制作等企业网站建设、网页设计与制作、乌什企业网站模板建站服务,10年乌什做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

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

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命名故障转移群集的实例解析

新闻名称:初学Java调用存储过程返回一行或多行结果集的实例
网页网址:http://www.zsjierui.cn/article/dhcgpep.html

其他资讯