Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy powinienem używać PreparedStatements do wszystkich wstawek do mojej bazy danych w Javie?

Tak, do wszystkiego używaj przygotowanych zestawień.

  1. Są analizowane raz.

  2. Są odporne na ataki typu SQL injection.

  3. 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pierwsze kroki z GearHost do tworzenia baz danych MySQL

  2. Skalowanie rozwiązań dla MySQL (replikacja, klastrowanie)

  3. Problemy z używaniem MySQL z AWS Lambda w Pythonie

  4. Mysql_real_escape_string() Ostrzeżenie zamieszanie

  5. MONTH() Przykłady – MySQL