Wątek przeniesiony 2023-07-05 12:08 z Java przez Riddle.

Ocena projektu sklep online

1

Hej, może ktoś mógłby zrobić przegląd kodu i ocenić moją pracę, dać wskazówki i co mogę poprawić. Projekt działa, wszystko wygląda poprawnie, w shouldAddProductToBasketTest() jest NoSuchElementException ale test i tak działa. Nie użyłem springa, ponieważ chciałem się obejść bez niego i dopiero teraz będę się go uczyć. Przyjmę wszystkie rady i będę wdzięczny.

Tutaj mój git: https://github.com/LukaszCh233/Store_Online

0
    private boolean categoryExists(int id_category) {
        Collection<Category> categories = commonRepository.loadCategoriesFromDatabase();
        for (Category category : categories) {
            if (category.getId_category() == id_category) {
                return true;
            }
        }
        return false;
    }

Pierwsza myśl -> szkoda że nie używasz streamów
Druga myśl -> yyyyyy ... czy ty tutaj ładujesz całą tabelę do pamięci tylko po to żeby sprawdzić że rekord istnieje?

    public Collection<Customer> loadCustomersFromDatabase() {
        Collection<Customer> customers = new ArrayList<>();
        String sql = "SELECT * FROM Customers c JOIN Customers_password cp ON c.id_customer = cp.customer_id";
        try (Statement statement = database.getConnection().createStatement()) {
            ResultSet resultSet = statement.executeQuery(sql);
            while (resultSet.next()) {
                customers.add(mapResultSetToCustomer(resultSet));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return customers;
    }

Dalej nie sprawdzam. Przerób to tak żeby baza szukałą zamiast ciebie. Słowo kluczowe w SQLu to WHERE

1

Nie bardzo rozumiem, czyli po prostu przerobić categoryExists tak żeby było zapytanie w sql?

Nie możesz pobierać całej tabeli przy każdym zapytaniu, bo jak będziesz miał tam milion rekordów to aplikacja umrze na pierwszym użytkowniku.
Słyszałeś o SELECT (...) FROM (...) WHERE ?

0
0

Poprawiłem trochę co mi powiedzieliście i czekam na dalsze komentarze :)

0

Testy nadal są bardzo słabe.

1 użytkowników online, w tym zalogowanych: 0, gości: 1