ccreate or replace package jxcPackage is
type po is ref cursor;
function get(sqlstr in varchar2) return po;
end jxcPackage;
/create or replace package body jxcPackage is
function get(sqlstr in varchar2)
return po
is
repo po;
str varchar2(100);
begin
if sqlstr = 'm' then
open repo for select * from kc;
else 
open repo for sqlstr;
end if;
return repo;
end get;
end jxcPackage;
/CallableStatement callable = null; ResultSet rs = null;
    
String str = "{? = call jxcPackage.get(?)}";InitialContext init = new InitialContext();      DataSource ds = (DataSource)init.lookup("jdbc/OracleDS");      conn = ds.getConnection();   callable = conn.prepareCall(str);   callable.registerOutParameter(1 , OracleTypes.CURSOR);   callable.setString(2 , "m");    callable.execute();rs =(ResultSet) callable.getObject(1);    while ( rs.next()){
    
     out.print(rs.getInt(1));
     out.print(rs.getInt(2));}
    }