现在的位置: 首页 > 数据库 > 正文

初学Java怎样调用存储过程返回一行或多行结果集

2020年04月28日 数据库 ⁄ 共 999字 ⁄ 字号 评论关闭

  对于初学Java调用存储过程的人来说,存储过程的调用似乎还是有一点点的难度。需要使用游标进行遍历。因此要使用数据库中的包。现在要根据一个编号得到一行结果集记录。下面学步园小编来讲解下初学Java怎样调用存储过程返回一行或多行结果集?

  初学Java怎样调用存储过程返回一行或多行结果集

  1.建立一个包:

  createorreplacepackageemp_pkgisTyperetcursorisrefcursor;procedurepro_read(p_idinemp.empno%type,outcursoroutretcursor);endemp_pkg;

  2.建立一个包体。

  createorreplacepackagebodyemp_pkgisprocedurepro_read(p_idinemp.empno%type,outcursoroutretcursor)isbeginopenoutcursorforselect*fromempwhereempno=p_id;end;endemp_pkg;

  3.Java调用包:

  publicvoidgetCallableStatement4(){CallableStatementcs=null;Connectionconn=this.getConnection();Stringsql="{callemp_pkg.pro_read(,)}";try{cs=conn.prepareCall(sql);cs.setInt(1,7788);cs.registerOutParameter(2,oracle.jdbc.OracleTypes.CURSOR);cs.executeUpdate();ResultSetrs=(ResultSet)cs.getObject(2);while(rs.next()){System.out.println("编号:"+rs.getInt(1)+"姓名:"+rs.getString(2));}}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}

  以上就是关于“初学Java怎样调用存储过程返回一行或多行结果集”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.