初學(xué)Java調(diào)用存儲(chǔ)過程返回一行或多行結(jié)果集的實(shí)例
作者:jin_linperfect
本文我們主要介紹了一個(gè)Java調(diào)用存儲(chǔ)過程返回一行或多行結(jié)果集的實(shí)例,并給出了詳細(xì)的調(diào)用代碼,希望能夠?qū)δ兴鶐椭?/div>
對(duì)于初學(xué)Java調(diào)用存儲(chǔ)過程的人來說,存儲(chǔ)過程的調(diào)用似乎還是有一點(diǎn)點(diǎn)的難度。本文我們介紹了一個(gè)Java調(diào)用存儲(chǔ)過程返回一行或多行結(jié)果集的實(shí)例為了要得到結(jié)果集,需要使用游標(biāo)進(jìn)行遍歷。因此要使用數(shù)據(jù)庫中的包。
現(xiàn)在要根據(jù)一個(gè)編號(hào)得到一行結(jié)果集記錄。
1.建立一個(gè)包:
- 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.建立一個(gè)包體。
- 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("編號(hào):"+rs.getInt(1)+" 姓名:"+rs.getString(2));
- }
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
以上就是Java調(diào)用存儲(chǔ)過程返回一行或多行結(jié)果集的實(shí)例的全部?jī)?nèi)容,本文就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】
責(zé)任編輯:趙鵬
來源:
CSDN博客


相關(guān)推薦




