@Override public HashMap getMeasurementsByDateRange(Date startDate, Date endDate, Classroom classroom) { HashMap MeasurementsByDateRange = new HashMap(); ArrayList co2 = new ArrayList<>(); ArrayList humidity = new ArrayList<>(); ArrayList temperature = new ArrayList<>(); PreparedStatement statement; ResultSet resultSet; try { statement = connection.prepareStatement("SELECT co2.co2Value,humidity.humidityValue, temperature.temperatureValue, classroom.name, measurement.timestamp FROM kelvin.measurement\n" + "inner JOIN classroom on classroomId = measurement.classroomId\n" + " INNER JOIN co2 ON measurement.id = co2.measurementId\n" + " INNER JOIN humidity ON measurement.id = humidity.measurementId\n" + " INNER JOIN temperature ON temperature.id = temperature.measurementId\n" + " \n" + " WHERE (timestamp BETWEEN ? AND ?)"); statement.setDate(1, new java.sql.Date(startDate.getTime())); statement.setDate(2, new java.sql.Date(endDate.getTime())); resultSet = statement.executeQuery(); while (resultSet.next()) { Double co2Value = resultSet.getDouble("co2Value"); Double humidityValue = resultSet.getDouble("humidityValue"); Double temperatureValue = resultSet.getDouble("temperatureValue"); co2.add(co2Value); humidity.add(humidityValue); temperature.add(temperatureValue); } MeasurementsByDateRange.put("co2Value", co2); MeasurementsByDateRange.put("humidityValue", humidity); MeasurementsByDateRange.put("temperatureValue", temperature); } catch (SQLException ex) { Logger.getLogger(MySqlMeasurementDAO.class.getName()).log(Level.SEVERE, null, ex); } return MeasurementsByDateRange; }