Ma'lumotlar bazasi bilan ishlashda PreparedStatement va CallableStatement ni ishlatish o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
Java'da ma'lumotlar bazasi bilan ishlashda PreparedStatement va CallableStatement o'rtasidagi asosiy farq:
-
PreparedStatement oldindan kompilyatsiya qilingan SQL so'rovlarini bajarish uchun ishlatiladi (odatda SELECT, INSERT, UPDATE, DELETE). U xavfsiz tarzda parametrlarni joylashtirish imkonini beradi va SQL injeksiyalarining oldini oladi.
-
CallableStatement ma'lumotlar bazasida belgilangan saqlangan protseduralar yoki funksiyalarni chaqirish uchun mo'ljallangan. U kirish va chiqish parametrlarini qo'llab-quvvatlaydi.
PreparedStatement dan foydalanish misoli:
String sql = "SELECT * FROM users WHERE id = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setInt(1, 10);
ResultSet rs = ps.executeQuery();
CallableStatement dan foydalanish misoli:
CallableStatement cs = connection.prepareCall("{call getUserById(?)}");
cs.setInt(1, 10);
ResultSet rs = cs.executeQuery();
Shunday qilib, PreparedStatement odatiy parametrlangan so'rovlar uchun, CallableStatement esa ma'lumotlar bazasi protseduralarini chaqirish uchun ishlatiladi.