Основы JDBC
Как выглядит работа через JDBC
JDBC не является отдельной базой данных и не придумывает собственный язык запросов. Java-приложение по-прежнему отправляет обычный SQL, а JDBC даёт стандартные интерфейсы, через которые код открывает соединение, выполняет команду и получает результат.
Между приложением и конкретной СУБД находится JDBC-драйвер. Он реализует JDBC-интерфейсы и знает, как общаться именно с PostgreSQL, MySQL, Oracle Database или другой поддерживаемой системой.
Минимальный путь запроса
String url = "jdbc:postgresql://localhost:5432/app";
try (Connection connection = DriverManager.getConnection(url, "app", "secret");
PreparedStatement statement = connection.prepareStatement(
"SELECT name FROM users WHERE id = ?")) {
statement.setLong(1, 42);
try (ResultSet result = statement.executeQuery()) {
if (result.next()) {
System.out.println(result.getString("name"));
}
}
}
Здесь видна вся цепочка JDBC. DriverManager помогает получить соединение,
Connection представляет работу с базой,
PreparedStatement хранит SQL с параметром,
а ResultSet даёт прочитать строки результата.
Каждый из этих объектов дальше разберём отдельно.
Драйвер должен быть доступен приложению
Для реальной базы в зависимостях проекта должен присутствовать подходящий JDBC-драйвер.
Современные драйверы обнаруживаются автоматически, поэтому обычному приложению, как правило,
не нужно вручную вызывать Class.forName() только ради регистрации драйвера.