import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;
public class Proc {
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub // TODO Auto-generated method stub try { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@172.23.138.227:1521:orcl","qydj","gsqy"); String s1=""; String s2=""; String s3=""; String s4=""; String s5=""; int c1=1; int c2=15; String sql = "call getUserListPage_proc(?,?,?,?,?,?,?,?,?,?)"; //String sql = "call getUserListcount_proc(?,?,?,?,?,?,?,?,?,?)"; CallableStatement cs = conn.prepareCall(sql); cs.setString(1, s1); cs.setString(2, s2); cs.setString(3, s3); cs.setString(4, s4); cs.setString(5, s5); cs.setInt(6, c1); cs.setInt(7, c2); cs.registerOutParameter(8, oracle.jdbc.driver.OracleTypes.NUMBER); cs.registerOutParameter(9, oracle.jdbc.driver.OracleTypes.NUMBER); cs.registerOutParameter(10,oracle.jdbc.driver.OracleTypes.CURSOR); cs.execute(); //执行存储过程 int pages = cs.getInt(8); int size = cs.getInt(9); System.out.println("总条数:"+size+",总页数:"+pages); List list = new ArrayList(); ResultSet rset = (ResultSet) cs.getObject(10); //获取数据集合 ResultSetMetaData md = rset.getMetaData(); int columnCount = md.getColumnCount(); //Map rowData; while (rset.next()) { Map rowData = new HashMap();
for (int i = 1; i <= columnCount; i++) {
rowData.put(md.getColumnName(i), rset.getObject(i)); //rowData.put(md.getColumnName(i), size+"");
}
list.add(rowData); } list.add(String.valueOf(size)); //list.remove(15); //System.out.println(rset.getString(2)); String s=list.get(15).toString(); System.out.println("s:"+s); for(int i=0;i<list.size();i++) { System.out.println("i:"+i+","+(list.get(i))); } /* System.out.println(rset.getString(1) +","+ rset.getString(2)+","+ rset.getString(3) +","+rset.getString(4)+","+rset.getString(5)); */ cs.close(); conn.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } }