Пример простого приложения

Для создания данного приложения нам необходимо выполнить следующие шаги:

  • Создать простое 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');

Класс 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 |
+----+-----------+-----------+--------+

results matching ""

    No results matching ""