Heim > Datenbank > MySQL-Tutorial > Wie übergebe ich Parameter sicher an ein JDBC PreparedStatement in Java?

Wie übergebe ich Parameter sicher an ein JDBC PreparedStatement in Java?

Linda Hamilton
Freigeben: 2024-11-24 13:40:12
Original
626 Leute haben es durchsucht

How to Safely Pass Parameters to a JDBC PreparedStatement in Java?

Übergabe von Parametern an ein JDBC PreparedStatement

Sie versuchen, eine Validierungsklasse für Ihr Java-Programm zu erstellen, indem Sie eine Verbindung zu einer MySQL-Datenbank herstellen und bestimmte Zeilen basierend auf a abrufen Konstruktorparameter. Ihr Code funktioniert jedoch nicht wie vorgesehen.

Um dieses Problem zu beheben, müssen Sie Ihren Code ändern, um die setString()-Methode zum Festlegen des userID-Parameters zu verwenden. Dies stellt nicht nur sicher, dass die Anweisung korrekt formatiert ist, sondern verhindert auch SQL-Injection, was für die Datenbanksicherheit wichtig ist.

Hier ist das aktualisierte Code-Snippet:

import java.sql.*;
import java.sql.PreparedStatement;
import java.sql.Connection;

public class Validation {

    private PreparedStatement statement;
    private Connection con;
    private String x, y;

    public Validation(String userID) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/test", "root", "");
            statement = con.prepareStatement(
                    "SELECT * from employee WHERE  userID = ?");
            statement.setString(1, userID);
            ResultSet rs = statement.executeQuery();
            while (rs.next()) {
                x = rs.getString(1);
                System.out.print(x);
                System.out.print(" ");
                y = rs.getString(2);
                System.out.println(y);
            }
        } catch (Exception ex) {
            System.out.println(ex);
        }
    }
}
Nach dem Login kopieren

Durch die Einbeziehung dieser Änderungen werden Sie werden in der Lage sein, Parameter effektiv an Ihr JDBC PreparedStatement zu übergeben, wodurch SQL-Injection-Risiken gemindert werden und der korrekte Abruf von Daten aus Ihrer Datenbank sichergestellt wird.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter sicher an ein JDBC PreparedStatement in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage