Tak, do wszystkiego używaj przygotowanych zestawień.
-
Są analizowane raz.
-
Są odporne na ataki typu SQL injection.
-
Są lepszym projektem, ponieważ musisz pomyśleć o swoim SQL i o tym, jak jest używany.
Jeśli uważasz, że są używane tylko raz, nie patrzysz na całościowy obraz. Pewnego dnia Twoje dane lub aplikacja ulegną zmianie.
Edytuj.
Dlaczego przygotowane zestawienia skłaniają Cię do myślenia o swoim SQL?
-
Kiedy składasz ciąg (lub po prostu wykonujesz dosłowny blok tekstu), nie tworzysz nowego
PreparedStatement
obiekt. Po prostu wykonujesz SQL -- można to zrobić bardzo od niechcenia. -
Kiedy musisz utworzyć (i zapisać)
PreparedStatement
, trzeba jeszcze trochę pomyśleć o enkapsulacji, podziale odpowiedzialności. Przygotowanie instrukcji jest zdarzeniem stanowym przed wykonaniem jakiegokolwiek przetwarzania SQL.
Dodatkowa praca jest niewielka, ale nie bez znaczenia. To właśnie powoduje, że ludzie zaczynają myśleć o ORM i warstwie buforowania danych i tego typu rzeczach, aby zoptymalizować dostęp do bazy danych.
Dzięki wyciągom Przygotowanym dostęp do bazy danych jest mniej przypadkowy, bardziej celowy.