Verilənlər bazası ilə işləyərkən PreparedStatement və CallableStatement istifadə etmək arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da verilənlər bazası ilə işləyərkən PreparedStatement və CallableStatement arasındakı əsas fərq:
-
PreparedStatement əvvəlcədən tərtib olunmuş SQL sorğularını icra etmək üçün istifadə olunur (adətən SELECT, INSERT, UPDATE, DELETE). Bu, parametrləri təhlükəsiz şəkildə yerləşdirməyə imkan verir və SQL inyeksiyalarının qarşısını alır.
-
CallableStatement verilənlər bazasında təyin olunmuş saxlanılan prosedurları və ya funksiyaları çağırmaq üçün nəzərdə tutulmuşdur. O, həm giriş, həm də çıxış parametrlərini dəstəkləyir.
PreparedStatement istifadə nümunəsi:
String sql = "SELECT * FROM users WHERE id = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setInt(1, 10);
ResultSet rs = ps.executeQuery();
CallableStatement istifadə nümunəsi:
CallableStatement cs = connection.prepareCall("{call getUserById(?)}");
cs.setInt(1, 10);
ResultSet rs = cs.executeQuery();
Beləliklə, PreparedStatement adi parametrli sorğular üçün, CallableStatement isə verilənlər bazası prosedurlarını çağırmaq üçün istifadə olunur.