code: public Map<String, Object> next() throws SQLException {
          Map<String, Object> row = new HashMap<>();
          ResultSetMetaData metadata = resultSet.getMetaData();
          int columnsNumber = metadata.getColumnCount();
          for (int i = 1; i <= columnsNumber; i++) {
              String columnName = metadata.getColumnName(i);
              row.put(columnName, resultSet.getObject(i));
          }
  
          this.hasNext = resultSet.next();
  
          return row;
      }
docs: Returns the next result row as a Map of column_name:column_value.
  
  @return Next result row.
  @throws SQLException