Übergabe von Parametern an ein JDBC PreparedStatement
Das Erstellen einer Validierungsklasse für ein Java-Programm erfordert oft die Abfrage einer Datenbank. Der folgende Code versucht, eine bestimmte Zeile aus einer Tabelle auszuwählen, indem er ein PreparedStatement mit einem Parameter verwendet:
public class Validation { // ... public Validation(String userID) { try { // ... statement = con.prepareStatement( "SELECT * from employee WHERE userID = " + "''" + userID); // ... } catch (Exception ex) { // ... } } // ... }
Dieser Code funktioniert jedoch möglicherweise nicht, weil die SQL-Anweisung nicht richtig formatiert ist.
Lösung:
Um einen Parameter korrekt an ein PreparedStatement zu übergeben, verwenden Sie setString() Methode:
statement = con.prepareStatement("SELECT * from employee WHERE userID = ?"); statement.setString(1, userID);
Diese Methode setzt den Wert des ersten Parameters (?) auf die angegebene Benutzer-ID. Es stellt sicher, dass die Anweisung richtig formatiert ist und verhindert SQL-Injection, eine Sicherheitslücke, die auftritt, wenn bösartiger SQL-Code in eine Abfrage eingefügt wird.
Weitere Informationen zur Verwendung von PreparedStatements finden Sie in den Java-Tutorials.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter sicher an ein JDBC PreparedStatement?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!