Sobes.tech
Junior — Middle

რა განსხვავებაა PreparedStatement და CallableStatement-ის გამოყენებას შორის მონაცემთა ბაზასთან მუშაობისას?

sobes.tech AI

პასუხი AI-სგან

Java-да දත්තසමුහ සමඟ වැඩ කිරීමේදී PreparedStatement සහ CallableStatement අතර මූලික වෙනස:

  • PreparedStatement යනු පෙර සකස් කළ SQL විමසුම් (සාමාන්‍යයෙන් SELECT, INSERT, UPDATE, DELETE) ක්‍රියාත්මක කිරීමට භාවිතා වේ. එය ආරක්ෂිතව පරාමිතීන් ඇතුල් කිරීමට හැකි වන අතර SQL ආක්‍රමණ වලින් ආරක්ෂා කරයි.

  • CallableStatement යනු දත්තසමුහයේ නිර්වචිත සුරක්ෂිත ක්‍රියාවන් හෝ ක්‍රමයන් කැඳවීමට අදාළ වේ. එය ඇතුල්වීමේ සහ පිටවීමේ පරාමිතීන් දෙකම සහය දක්වයි.

PreparedStatement භාවිතා කිරීමේ උදාහරණය:

String sql = "SELECT * FROM users WHERE id = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setInt(1, 10);
ResultSet rs = ps.executeQuery();

CallableStatement භාවිතා කිරීමේ උදාහරණය:

CallableStatement cs = connection.prepareCall("{call getUserById(?)}");
cs.setInt(1, 10);
ResultSet rs = cs.executeQuery();

ඒ අනුව, PreparedStatement සාමාන්‍ය පරාමිතීකරණ කළ විමසුම් සඳහා වන අතර, CallableStatement දත්තසමුහ ක්‍රියාවන් කැඳවීමට භාවිතා වේ.