public ArrayList<Itinerario> consultarItinerariosCadastrados() {
    ArrayList<Itinerario> arrayList = new ArrayList<Itinerario>();
    BancoDados banco = new BancoDados();
    try {
      Class.forName(banco.getDriver());
      Connection conn =
          DriverManager.getConnection(banco.getStr_conn(), banco.getUsuario(), banco.getSenha());
      Statement stmt = conn.createStatement();
      String sql =
          "SELECT ItinerarioId, RotaItinerarioId, origem.CidadeNome, origem.CidadeId, destino.CidadeNome, destino.CidadeId "
              + "FROM RotaItinerario "
              + "INNER JOIN Itinerario ON(ItinerarioId = RotaItinerario_ItinerarioId) "
              + "INNER JOIN Cidade AS origem ON (Itinerario_CidadeOrigem = origem.CidadeId) "
              + "INNER JOIN Cidade AS destino ON(destino.CidadeId = Itinerario_CidadeDestino) "
              + "GROUP BY origem.CidadeNome, destino.CidadeNome "
              + "ORDER BY origem.CidadeNome, destino.CidadeNome";
      ResultSet rs = stmt.executeQuery(sql);
      while (rs.next()) {
        Itinerario Itinerario = new Itinerario();
        Itinerario.setItinerarioId(rs.getInt("ItinerarioId"));
        Itinerario.setItinerario_cidadeOrigemId(rs.getInt("origem.CidadeId"));
        Itinerario.setItinerario_cidadeDestinoId(rs.getInt("destino.CidadeId"));
        Itinerario.setItinerario_cidadeOrigem(rs.getString("origem.CidadeNome"));
        Itinerario.setItinerario_cidadeDestino(rs.getString("destino.CidadeNome"));
        arrayList.add(Itinerario);
      }
    } catch (ClassNotFoundException ex) {
      System.out.println("Não foi possivel carregar o driver.");
      ex.printStackTrace();

    } catch (SQLException ex) {
      System.out.println("Problema com SQL.");
      ex.printStackTrace();
    }
    return arrayList;
  }