java调用存储过程,返回list

    public List queryData(){
        List list = new ArrayList();
        Connection conn = null;
        try {
            conn = DBHelper.getConnection();
            CallableStatement call = conn.prepareCall("{call proc}");
            
            ResultSet rs = call.executeQuery(); 
            ResultSetMetaData rsMeta = rs.getMetaData();
            int columnCount = rsMeta.getColumnCount();
            Map row;
            while (rs != null && rs.next()) {
                row = new HashMap();
                for (int i = 1; i <= columnCount; i++) {
                    row.put(rsMeta.getColumnName(i), rs.getObject(rsMeta.getColumnName(i)));
                }
                list.add(row);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try{conn.close();} catch(Exception ee){};
        }
        
        return list;
    }

你可能感兴趣的:(java)