Prepared Statements
SQL enjeksiyonu güvenlik açığını keşfettikten sonra, CityBook Libraries kitap arama özelliğini güvenceye almanı istiyor. Enjeksiyon saldırılarını önlemek için basit Statement nesnelerinden PreparedStatement kullanımına geçeceksin.
HikariSetup sınıfı zaten yapılandırıldı.
Bu egzersiz
Java ile PostgreSQL Veritabanına Sorgu Yazma
kursunun bir parçasıdırEgzersiz talimatları
- Başlık parametresi için bir yer tutucu kullan.
- Bağlantıdan bir
PreparedStatementoluştur. - Hazırlanmış ifade için
titleparametresini ayarla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
public class Main {
public static void main(String[] args) throws SQLException {
HikariDataSource ds = HikariSetup.createDataSource();
// Set the parameter in the query
String query = "SELECT * FROM books WHERE title = ____";
// Create the prepared statement
try (Connection conn = ds.getConnection();
PreparedStatement pstmt = ____.____(query)) {
// Set the title parameter
pstmt.____(____, "Clean Code");
try (ResultSet rs = pstmt.executeQuery()) {
while (rs.next()) {
System.out.printf("ID: %d, Title: %s (%d)%n", rs.getInt("book_id"), rs.getString("title"), rs.getInt("publication_year"));
}
}
}
}
}