Java JDBC: Подключение MySQL и навигация по окнам

Этот урок описывает подключение базы данных MySQL к Java-приложению с использованием JDBC. Мы создадим таблицу users для хранения информации о пользователях и реализуем навигацию между окнами приложения.

Подготовка

Для работы с базой данных MySQL необходимо:

  1. MySQL Workbench: графический интерфейс для работы с MySQL. Скачайте и установите его с официального сайта, выбрав версию для вашей операционной системы.
  2. MySQL Server: сервер баз данных MySQL. Ссылка для загрузки доступна на официальном сайте. Установите его после скачивания.

Создание базы данных и таблицы

После установки MySQL Workbench и MySQL Server запустите Workbench. Создайте базу данных:

  1. Выберите «Data Connection» и нажмите «+».
  2. Укажите имя базы данных (например, «etprager»). В этом примере username (root) и password (12345) используются по умолчанию. Нажмите «Test Connection» для проверки подключения.
  3. После успешного подключения нажмите «OK».
  4. Создайте схему (например, «etprager»).
  5. Кликните правой кнопкой мыши по созданной схеме и выберите «Create Table».
  6. Назовите таблицу users.
  7. Добавьте поля:
    • id: INT, AUTO_INCREMENT, NOT NULL (первичный ключ, автоматически увеличивается)
    • first_name: VARCHAR(45), NOT NULL
    • last_name: VARCHAR(45), NOT NULL
    • username: VARCHAR(255), NOT NULL
    • password: VARCHAR(255), NOT NULL
    • location: VARCHAR(255)
    • gender: VARCHAR(255)
  8. Установите Engine как InnoDB (или оставьте значение по умолчанию).
  9. Нажмите «Apply» для создания таблицы.

Обработка события нажатия кнопки «Зарегистрироваться»

В файле controller.java (или аналогичном, обрабатывающем события) найдите кнопку «Зарегистрироваться» (loginzaButton). Добавьте обработчик событий:

loginzaButton.setOnAction(event -> {
    // Скрываем текущее окно
    getScene().getWindow().hide();

    // Загружаем и отображаем окно регистрации
    try {
        FXMLLoader loader = new FXMLLoader(getClass().getResource("/sample/register.fxml")); // путь к файлу fxml
        Parent root = loader.load();
        Stage stage = new Stage();
        stage.setScene(new Scene(root));
        stage.showAndWait();
    } catch (IOException e) {
        e.printStackTrace(); // Обработка исключений
    }
});

Этот код скрывает текущее окно и отображает окно регистрации (register.fxml), которое нужно создать отдельно. Обратите внимание на обработку исключения IOException.

В этом уроке мы подключили базу данных MySQL, создали таблицу users и реализовали переключение между окнами приложения. Это базовый функционал, который можно расширять в последующих уроках.

Что будем искать? Например,программа