В этом примере мы удалим данные из таблицы базы данных (далее – БД) с помощью технологии JDBC.
Для этого нам необходимо:
- Импортировать пакет java.sql.*
- Зарегистрировать JDBC драйвер
- Открыть соединение
- Выполнить запрос
- Освободить ресурсы
Для понимания того, как это работает на практике, рассмотрим пример простого приложения.
Пример:
import java.sql.*;
public class DeleteRecordsJdbc {
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("Removing record with id = 3");
SQL = "DELETE FROM developers WHERE id = 3";
statement.executeUpdate(SQL);
System.out.println("Getting records...");
SQL = "SELECT * FROM developers";
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
===================
***********************************
Removing record with id = 3
Getting records...
id: 1
Name: Proselyte
Specialty: Java
Salary: 3000
===================
id: 2
Name: AsyaSmile
Specialty: UI/UX
Salary: 2000
===================