Основы JDBC в Java
Last updated: 9 мая 2025 г.JDBC
– программный интерфейс для взаимодействия Java приложения и базы данных.
То есть, грубо говоря, мы можем работать с базой данных из Java программы.
В JDBC есть три основных класса для работы с базой:
Connection
– для установки соединения с базой.Statement
– для выполнения sql запросов.ResultSet
– для получения результатов запроса.
Пример программы:
1import java.sql.*;
2
3public class JDBCApp {
4 public static void main(String[] args)
5 throws ClassNotFoundException, SQLException {
6 //В метод Class.forName нужно передать
7 //драйвер mysql благодаря которому DriverManager
8 //будет понимать что мы пытаемся подключиться
9 //именно к mysql базе так как базы бывают разные.
10 Class.forName("com.mysql.cj.jdbc.Driver");
11
12 //В метод getConnection передаем ссылку
13 //на базу, имя пользователя и пароль mysql
14 //таким образом устанавливается соединение
15 //текущей программы JDBCApp с базой данных
16 Connection connection =
17 DriverManager.getConnection(
18 "jdbc:mysql://localhost/storage",
19 "root", "07998MSD");
20
21 //Чтобы передать запрос базе данных нужен
22 //объект statement, который возвращается из метода
23 //createStatement нашего соединения (connection)
24 Statement statement = connection.createStatement();
25
26 //executeUpdate – для обновления, создания
27 //или удаления чего в базе данных.
28 //Например создаем таблицу Books ниже.
29 statement.executeUpdate("Create table Books "
30 +"(id middleint not null auto_increment, "
31 +"name VARCHAR(30) not null, "
32 +"author VARCHAR(30) not null, PRIMARY KEY (id));");
33
34 //И добавим пару книг в таблицу
35 statement.executeUpdate("INSERT INTO Books "
36 +"(name, author) VALUES (‘LOTR’, "
37 +"‘Tolkien’);");
38 statement.executeUpdate("INSERT INTO Books "
39 +"(name, author) VALUES (‘Camera Obscura’, "
40 +"‘Nabokov’);");
41
42 //далее можем передавать запрос
43 //через метод executeQuery, который возвращает
44 //объект ResultSet, который
45 //содержит результат запроса
46 ResultSet resultSet = statement.executeQuery(
47 "SELECT * FROM Books");
48 System.out.println("\nBooks:");
49
50 //То есть как видим мы просто работаем с базой
51 //теми же самыми SQL запросами, которыми мы
52 //пользовались и раньше, но теперь через
53 //Java программу.
54
55 //next проходит по строкам таблицы базы данных
56 while (resultSet.next()) {
57 //в метод getType передаем номер атрибута
58 //или имя атрибута строки таблицы
59 int id = resultSet.getInt("id");
60 String name = resultSet.getString("name");
61 String author = resultSet.getString("author");
62
63 System.out.println("\n====================\n");
64 System.out.println("id: " + id);
65 System.out.println("name: " + name);
66 System.out.println("author: " + author);
67 }
68 System.out.println("\n====================\n");
69 System.out.println("Closing connection and "
70 + "releasing resources…");
71 resultSet.close();
72 statement.close();
73 connection.close();
74 }
75}
Вывод:

Видим на консоли добавленные нами книги в базу данных.
Дополнительные материалы
(Здесь вы найдете полезные ссылки на материалы по теме. Это не обязательно, просто дополнительная информация.)
Официальная документация по JDBC от Oracle
Гайд по подключению разных СУБД к Java
JDBC и Unicode (кириллица в БД)
Следующие уроки
Транзакции в SQL и JDBC
13
мин.
Savepoint в JDBC транзакциях
13
мин.
Изоляция транзакций. Грязное чтение
15
мин.