Sobes.tech
Junior — Middle

Koja je razlika između korišćenja jednostavnog Statement i pripremljenog PreparedStatement za izvršavanje SQL upita u JDBC?

sobes.tech АИ

Одговор од АИ

Основне разлике између Statement и PreparedStatement у JDBC-у:

  • 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 захтева конкатенацију стрингова, што није безбедно и мање је ефикасно.