Руководство по JDBC. Примеры. Получение данных из таблицы.

В этом примере мы получим данные из таблицы в базе данных (далее – БД) с помощью технологии JDBC.

Для этого нам необходимо:

  • Импортировать пакет java.sql.*
  • Зарегистрировать JDBC драйвер
  • Открыть соединение
  • Выполнить запрос
  • Освободить ресурсы

Для понимания того, как это работает на практике, рассмотрим пример простого приложения.

Пример:


import java.sql.*;

public class SelectRecordsJdbc {
    static final String DATABASE_URL = "jdbc:mysql://localhost/PROSELYTE_JDBC_DB";
    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";

    static final String USER = "ВАШЕ_ИМЯ_ПОЛЬЗОВАТЕЛЯ";
    static final String PASSWORD = "ВАШ_ПАРОЛЬ";

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Connection connection = null;
        Statement statement = null;
        try {
            System.out.println("Registering JDBC driver...");
            Class.forName(JDBC_DRIVER);

            System.out.println("Creating connection to database...");
            connection = DriverManager.getConnection(DATABASE_URL, USER, PASSWORD);

            System.out.println("Getting records...");
            statement = connection.createStatement();

            String SQL = "SELECT * FROM developers";
            ResultSet resultSet = statement.executeQuery(SQL);

            while (resultSet.next()){
                int id = resultSet.getInt(1);
                String  name = resultSet.getString(2);
                String  specialty = resultSet.getString(3);
                int salary = resultSet.getInt(4);

                System.out.println("id: " + id);
                System.out.println("Name: " + name);
                System.out.println("Specialty: " + specialty);
                System.out.println("Salary: " + salary);
                System.out.println("===================\n");
            }
        } finally {
            if (statement != null) {
                statement.close();
            }
            if (connection != null) {
                connection.close();
            }
        }
    }
}

В результате работы программы мы получим следующий результат:


/*Some System Messages*/

Registering JDBC driver...
Creating connection to database...
Getting records...
id: 1
Name: Proselyte
Specialty: Java
Salary: 3000
===================

id: 2
Name: AsyaSmile
Specialty: UI/UX
Salary: 2000
===================

id: 3
Name: Peter
Specialty: C++
Salary: 3500
===================