Sobes.tech
Junior — Middle

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.