初學(xué)Java調(diào)用存儲過程返回一行或多行結(jié)果集的實例
作者:jin_linperfect
本文我們主要介紹了一個Java調(diào)用存儲過程返回一行或多行結(jié)果集的實例,并給出了詳細的調(diào)用代碼,希望能夠?qū)δ兴鶐椭?/div>
對于初學(xué)Java調(diào)用存儲過程的人來說,存儲過程的調(diào)用似乎還是有一點點的難度。本文我們介紹了一個Java調(diào)用存儲過程返回一行或多行結(jié)果集的實例為了要得到結(jié)果集,需要使用游標進行遍歷。因此要使用數(shù)據(jù)庫中的包。
現(xiàn)在要根據(jù)一個編號得到一行結(jié)果集記錄。
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調(diào)用包:
- 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調(diào)用存儲過程返回一行或多行結(jié)果集的實例的全部內(nèi)容,本文就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】
責任編輯:趙鵬
來源:
CSDN博客


相關(guān)推薦




