Пример простого приложения
Для создания данного приложения нам необходимо выполнить следующие шаги:
- Создать простое 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 |
+----+-----------+-----------+--------+