对于初学Java调用存储过程的人来说,存储过程的调用似乎还是有一点点的难度。本文我们介绍了一个Java调用存储过程返回一行或多行结果集的实例为了要得到结果集,需要使用游标进行遍历。因此要使用数据库中的包。
现在要根据一个编号得到一行结果集记录。
1.建立一个包:
createorreplacepackageemp_pkgis Typeretcursorisrefcursor; procedurepro_read(p_idinemp.empno%type,outcursoroutretcursor); endemp_pkg;
2.建立一个包体。
createorreplacepackagebodyemp_pkgis procedurepro_read(p_idinemp.empno%type,outcursoroutretcursor) is begin openoutcursorforselect*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-generatedcatchblock e.printStackTrace(); } }
以上就是Java调用存储过程返回一行或多行结果集的实例的全部内容,本文就介绍到这里了,希望本次的介绍能够对您有所收获!
【编辑推荐】
- SQL Server数据库托管代码的使用详解从物理结构上谈一谈SQL Server数据库的优化MongoDB Replica Sets和Auto Sharding配置简介MySQL性能优化之使用Limit关键字来避免全表扫描SQL Server 2008 R2命名故障转移群集的实例解析