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 — базанын процедураларын чакырууга колдонулат.