Junior — Middle
JDBCде SQL суроолорду ишке ашыруу үчүн жөнөкөй Statement менен даярдалган PreparedStatement колдонуу арасы кандай айырма бар?
sobes.tech AI
AIден жооп
JDBC-деги Statement жана PreparedStatement ортосундагы негизги айырмачылыктар:
- Statement жөнөкөй SQL суроолорду параметрлери жок аткаруу үчүн колдонулат. Суроо сап катары түзүлүп, аткаруу үчүн жөнөтүлөт.
- PreparedStatement параметрлүү суроолорду түзүүгө мүмкүндүк берет жана аларды коопсуз түрдө толтурууга болот (
?сыяктуу орун басарлар).
PreparedStatementтин артыкчылыктары:
- Коопсуздук: параметрлердин туура чыгышын камсыз кылуу аркылуу SQL инъекцияларын алдын алат.
- Өндүрүмдүүлүк: суроо бир жолу түзүлүп, ар кандай параметрлер менен көп жолу аткарылат.
- Ыңгайлуулук: динамикалык маалыматтар менен иштөөнү жеңилдетет.
PreparedStatement колдонуу мисалы:
String sql = "SELECT * FROM users WHERE id = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setInt(1, 10);
ResultSet rs = ps.executeQuery();
Statement саптарды бириктирүүнү талап кылат, бул коопсуз эмес жана азыраак эффективдүү.