Руководство по JDBC. Пример простого приложения.

В этом уроке мы создадим простой 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 и их типы.