There are DataBaseMetaData retrieved from Connection.getMetaData() and ResultSetMetaData from a ResultSet.
Some example java code snipped that may help you:
Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery( "SELECT * FROM MY_TABLE" ); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns = rsmd.getColumnCount(); /*if you need the column names...*/ //for( int i = 1; i <= numberOfColumns ) { // rsmd.getColumnName( i ); //} List<Object[]> result = new ArrayList<Object[]>(); while( rs.next() ) { Object[] values = new Object[ numberOfColumns ]; for( int index = 0; index < numberOfColumns; ) { values[ index ] = rs.getObject( ++index ); } result.add( values ); }