Bagaimana untuk Melewati Parameter dengan Selamat ke JDBC PreparedStatement di Java?

Linda Hamilton
Lepaskan: 2024-11-24 13:40:12
asal
552 orang telah melayarinya

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

Melalui Parameter ke JDBC PreparedStatement

Anda cuba mencipta kelas pengesahan untuk program Java anda dengan menyambung ke pangkalan data MySQL dan mendapatkan semula baris tertentu berdasarkan parameter pembina. Walau bagaimanapun, kod anda tidak berfungsi seperti yang dimaksudkan.

Untuk menyelesaikan isu ini, anda perlu mengubah suai kod anda untuk menggunakan kaedah setString() untuk menetapkan parameter ID pengguna. Ini bukan sahaja memastikan bahawa pernyataan diformat dengan betul tetapi juga menghalang suntikan SQL, yang penting untuk keselamatan pangkalan data.

Berikut ialah coretan kod yang dikemas kini:

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);
        }
    }
}
Salin selepas log masuk

Dengan memasukkan perubahan ini, anda akan dapat menghantar parameter dengan berkesan kepada JDBC PreparedStatement anda, mengurangkan risiko suntikan SQL dan memastikan pengambilan data yang betul daripada pangkalan data anda.

Atas ialah kandungan terperinci Bagaimana untuk Melewati Parameter dengan Selamat ke JDBC PreparedStatement di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan