В этом уроке мы создадим простой Java приложение с использованием JDBC, в котором мы создадим соединение с базой данных (далее – БД), выполним несколько SQL – запросов и отобразим результат в консоли.
Для создания данного приложения нам необходимо выполнить следующие шаги.
- Создать простое Java приложение
- Создать базу данных и таблицу в ней
- Импортировать пакет java.sql.*
- Использовать JDBC драйвер
- Создать соединение
- Выполнить запрос
- Получить данные из БД
- Закрыть соединения
Рассмотрим пример простого приложения.
Пример:
Исходный код проекта можно скачать по ЭТОЙ ССЫЛКЕ.
Добавляем завимость MySQL Connector (MySQL драйвер) в POM.xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
Создание таблицы developers в БД
CREATE TABLE PROSELYTE_TUTORIALS.developers (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
specialty VARCHAR(50) NOT NULL,
salary INT NOT NULL,
PRIMARY KEY (id));
Добавление записей в таблицу developers
INSERT INTO PROSELYTE_TUTORIALS.developers (name, specialty, salary) VALUES ('Proselyte', 'Java', '2000');
INSERT INTO PROSELYTE_TUTORIALS.developers (name, specialty, salary) VALUES ('Peter','C++', '3000');
INSERT INTO PROSELYTE_TUTORIALS.developers (name, specialty, salary) VALUES ('AsyaSmile', 'UI/UX', '2000');
Класс DevelopersJdbcDemo
import java.sql.*;
public class DevelopersJdbcDemo {
/**
* JDBC Driver and database url
*/
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DATABASE_URL = "jdbc:mysql://localhost/PROSELYTE_TUTORIALS";
/**
* User and Password
*/
static final String USER = "ВВЕДИТЕ ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ";
static final String PASSWORD = "ВВЕДИТЕ ВАШ ПАРОЛЬ";
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Connection connection = null;
Statement statement = null;
System.out.println("Registering JDBC driver...");
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Creating database connection...");
connection = DriverManager.getConnection(DATABASE_URL, USER, PASSWORD);
System.out.println("Executing statement...");
statement = connection.createStatement();
String sql;
sql = "SELECT * FROM developers";
ResultSet resultSet = statement.executeQuery(sql);
System.out.println("Retrieving data from database...");
System.out.println("\nDevelopers:");
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
String specialty = resultSet.getString("specialty");
int salary = resultSet.getInt("salary");
System.out.println("\n================\n");
System.out.println("id: " + id);
System.out.println("Name: " + name);
System.out.println("Specialty: " + specialty);
System.out.println("Salary: $" + salary);
}
System.out.println("Closing connection and releasing resources...");
resultSet.close();
statement.close();
connection.close();
}
}
В результате работы программы мы получим следующий результат:
/*Some System Messages*/
Registering JDBC driver...
Creating database connection...
Executing statement...
Retrieving data from database...
Developers:
================
id: 1
Name: Proselyte
Specialty: Java
Salary: $2000
================
id: 2
Name: Peter
Specialty: C++
Salary: $3000
================
id: 3
Name: AsyaSmile
Specialty: UI/UX
Salary: $2000
Closing connection and releasing resources...
Так будет выглядеть наша таблица в БД
mysql> SELECT * FROM developers;
+----+-----------+-----------+--------+
| id | name | specialty | salary |
+----+-----------+-----------+--------+
| 1 | Proselyte | Java | 2000 |
| 2 | Peter | C++ | 3000 |
| 3 | AsyaSmile | UI/UX | 2000 |
+----+-----------+-----------+--------+
В этом уроке мы ознакомились с примером простого приложения, в котором мы создали таблицу в БД, создали соединение с БД, выполнили SQL – запрос, получили данные и вывели их в консоль.
В следующем уроке мы более подробно рассмотрим драйверы и для JDBC и их типы.