初學Java調用存儲過程返回一行或多行結果集的實例
作者:jin_linperfect
本文我們主要介紹了一個Java調用存儲過程返回一行或多行結果集的實例,并給出了詳細的調用代碼,希望能夠對您有所幫助。
對于初學Java調用存儲過程的人來說,存儲過程的調用似乎還是有一點點的難度。本文我們介紹了一個Java調用存儲過程返回一行或多行結果集的實例為了要得到結果集,需要使用游標進行遍歷。因此要使用數據庫中的包。
現在要根據一個編號得到一行結果集記錄。
1.建立一個包:
- create or replace package emp_pkg is
- Type retcursor is ref cursor;
- procedure pro_read(p_id in emp.empno%type,outcursor out retcursor);
- end emp_pkg;
2.建立一個包體。
- create or replace package body emp_pkg is
- procedure pro_read(p_id in emp.empno%type,outcursor out retcursor)
- is
- begin
- open outcursor for select * from emp where empno=p_id;
- end;
- end emp_pkg;
3.Java調用包:
- public void getCallableStatement4(){
- CallableStatement cs=null;
- Connection conn=this.getConnection();
- String sql="{call emp_pkg.pro_read(?,?)}";
- try {
- cs=conn.prepareCall(sql);
- cs.setInt(1, 7788);
- cs.registerOutParameter(2, oracle.jdbc.OracleTypes.CURSOR);
- cs.executeUpdate();
- ResultSet rs=(ResultSet) cs.getObject(2);
- while(rs.next()){
- System.out.println("編號:"+rs.getInt(1)+" 姓名:"+rs.getString(2));
- }
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
以上就是Java調用存儲過程返回一行或多行結果集的實例的全部內容,本文就介紹到這里了,希望本次的介紹能夠對您有所收獲!
【編輯推薦】
責任編輯:趙鵬
來源:
CSDN博客