con = this.getConnection();
cs = con.prepareCall("{call PROC_TEST(?,?,?,?)}");
cs.setInt(1, inParam1);
cs.setInt(2, inParam2);
cs.setString(3, inParam3);
cs.registerOutParameter(4, OracleTypes.CURSOR);//存儲過程中返回遊標
cs.execute();
rs = (ResultSet) cs.getObject(4);//返回參數,注意要與設置返回參數的下標一致
ResultSetMetaData md = rs.getMetaData();
int columnCount = md.getColumnCount();
while (rs.next()) {
Map rowMap = new HashMap(columnCount);
for (int i = 1; i <= columnCount; i++) {
rowMap.put(md.getColumnName(i), rs.getObject(i));
}
returnList.add(rowMap);
}