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

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

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

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

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

Пример:


import java.sql.*;

public class UpdateTableJdbc {
    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");

                System.out.println("\n***********************************\n");
            }

            System.out.println("Increasing salary for all developers (+ $500)");
            System.out.println("Getting updated records...");
            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) + 500;

                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
===================


***********************************

Increasing salary for all developers (+ $500)
Getting updated records...
id: 1
Name: Proselyte
Specialty: Java
Salary: 3500
===================

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

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