Встречается на собеседованиях • сегодня

Можно ли передавать параметры в CallableStatement

Да, параметры в CallableStatement можно передавать. Для этого используются методы setXXX() (например, setInt(), setString()), аналогично PreparedStatement. Параметры могут быть входными (IN), выходными (OUT) или вводно-выводными (INOUT).

Пример вызова хранимой процедуры с параметрами:

java
try (Connection conn = DriverManager.getConnection(url);
     CallableStatement stmt = conn.prepareCall("{call get_employee(?, ?)}")) {
    stmt.setInt(1, 101); // IN параметр (ID сотрудника)
    stmt.registerOutParameter(2, Types.VARCHAR); // OUT параметр (имя сотрудника)
    stmt.execute();
    String name = stmt.getString(2);
}

Для INOUT параметров используется registerOutParameter() + setXXX(). Параметры нумеруются с 1, порядок соответствует объявлению в SQL.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы