TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #817 3.46K
🤔 Как вызвать хранимую процедуру?

Для вызова хранимой процедуры в JDBC используется интерфейс CallableStatement.

🚩Этапы вызова

1⃣Установка соединения
Connection connection = DriverManager.getConnection(url, username, password);


2⃣Создание CallableStatement
CallableStatement cstmt = connection.prepareCall("{call myStoredProc(?)}");


3⃣Установка параметров (если есть)
cstmt.setInt(1, 1); // Установка значения первого параметра


4⃣Выполнение вызова
ResultSet rs = cstmt.executeQuery();


5⃣Обработка результатов
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println("ID: " + id + ", Name: " + name);
}


6⃣Закрытие ресурсов
rs.close();
cstmt.close();
connection.close();


🚩Пример полного кода

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class CallStoredProcExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "myusername";
String password = "mypassword";

try {
Connection connection = DriverManager.getConnection(url, username, password);

// Вызов хранимой процедуры
CallableStatement cstmt = connection.prepareCall("{call myStoredProc(?)}");
cstmt.setInt(1, 1);

// Выполнение и обработка результатов
ResultSet rs = cstmt.executeQuery();
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println("ID: " + id + ", Name: " + name);
}

// Закрытие ресурсов
rs.close();
cstmt.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 8
More from @easy_java_ru
  1. Oct 9, 2026🤔 Что такое «HTML»? HTML (HyperText Markup Language) — это язык разметки, используемый дл…
  2. Oct 9, 2026🤔 В чём различие между LeftJoin , RightJoin и InnerJoin? LEFT JOIN, RIGHT JOIN и INNER JO…
  3. Oct 8, 2026Post #2955
  4. Oct 8, 2026🤔 Что такое поток "демон"? Демон-поток — это поток, который: - Работает на фоне (например…
  5. Oct 7, 2026🤔 Может ли Entity-класс быть абстрактным? Да, Entity может быть абстрактным, если он служ…
  6. Oct 7, 2026🤔 К какой категории сущности относится Primary Key? Primary Key (первичный ключ) в базах…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →