Sobes.tech
Junior — Middle

Quelle est la différence entre l'utilisation d'une déclaration simple et d'une déclaration préparée pour exécuter des requêtes SQL dans JDBC?

sobes.tech IA

Réponse de l'IA

Основные отличия между Statement и PreparedStatement в JDBC:

  • Statement используется для выполнения простых SQL-запросов без параметров. Запрос формируется как строка и отправляется на выполнение.
  • PreparedStatement позволяет создавать параметризованные запросы с плейсхолдерами (например, ?), которые можно безопасно заполнять значениями.

Преимущества PreparedStatement:

  • Безопасность: предотвращает SQL-инъекции за счёт правильного экранирования параметров.
  • Производительность: запрос компилируется один раз, а затем может выполняться многократно с разными параметрами.
  • Удобство: упрощает работу с динамическими данными.

Пример использования PreparedStatement:

String sql = "SELECT * FROM users WHERE id = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setInt(1, 10);
ResultSet rs = ps.executeQuery();

В то время как Statement требует конкатенации строк, что небезопасно и менее эффективно.