JavaFX JDBC et MySQL
JavaFX JDBC et MySQL
-
Objectifs
-
Introduction
- Dans ce tutoriel, nous allons apprendre à créer une application JavaFX avec une connectivité à une base de données.
- Dans l’exemple illustré suivant, nous allons implémenter une opération de recherche dans un ListView en saisissant du texte dans un TextField. L’élément sélectionné dans le ListView est récupéré en conséquence à partir de la base de données principale et affiché dans le contrôle TableView. Il s’agit donc avant tout d’une application de type récupération et affichage. D’autres opérations de base de données, telles que l’insertion, la suppression et la mise à jour d’enregistrements, ne sont pas mises en œuvre en raison de contraintes de taille. Ce serait un bel exercice de les mettre en œuvre vous-même.
- Avant de commencer, nous devons créer une table de base de données et un projet Java. Nous utiliserons MySQL comme base de données principale ; vous pouvez en choisir une autre, mais assurez-vous d’inclure les pilotes appropriés dans votre fichier pom.xml. Voici une partie du code SQL pour créer la table, insérer des données factices et quelques autres opérations.
- Dans ce tutoriel, nous utilisons le pilote MySQL Connector/J. Il s’agit du pilote JDBC officiel pour MySQL.
-
Configuration de la Base de Données
-
Création de la Base de Données et de la Table des Contacts :
-
Connecteur MySQL/J
- Pour se connecter à MySQL en Java, MySQL fournit MySQL Connector/J, un pilote qui implémente l’API JDBC.MySQL Connector/J est un pilote JDBC de Type 4. La désignation Type 4 signifie que le pilote est une implémentation Java pure du protocole MySQL et ne repose pas sur les bibliothèques client MySQL.
- Dans ce didacticiel, nous utilisons mysql-connector-java-8.0.23. Vous pouvez consulter la dernière version sur mvnrepository.com.
- MySQL est l’un des principaux systèmes de gestion de bases de données open source. Il s’agit d’un système de gestion de base de données multi-utilisateurs et multithread. MySQL est particulièrement populaire sur le Web. Il fait partie de la très populaire plate-forme LAMP, composée de Linux, Apache, MySQL et PHP.
-
Préparation du Projet Java :
- Créez un nouveau projet Java dans votre IDE préféré (Eclipse).inclure les bibliothèques JavaFX et MySQL Connector/J.
- Pour créer un nouveau projet Java dans Eclipse et inclure les bibliothèques JavaFX et MySQL Connector/J, suivez les étapes ci-dessous :
- Étapes pour Créer un Nouveau Projet Java dans Eclipse
- Créer un Nouveau Projet Java :
- Ouvrez Eclipse.
- Allez dans File -> New -> Java Project.
- Entrez le nom du projet, par exemple « javaFxProject« , puis cliquez sur Finish.
- Ajouter JavaFX au Projet :
- Télécharger JavaFX SDK :
- Téléchargez le SDK JavaFX depuis le site officiel : https://gluonhq.com/products/javafx/.
- Décompressez le SDK téléchargé dans un dossier de votre choix.
- Configurer le Chemin JavaFX dans Eclipse :
- Faites un clic droit sur votre projet dans l’Explorateur de projets et sélectionnez Build Path -> Add Libraries.
- Choisissez User Library puis cliquez sur Next.
- Cliquez sur User Libraries -> New pour créer une nouvelle bibliothèque utilisateur. Nommez-la JavaFX.
- Cliquez sur Add External JARs et sélectionnez tous les fichiers JAR situés dans le dossier lib du SDK JavaFX que vous avez téléchargé.
- Cliquez sur OK, puis assurez-vous que la bibliothèque JavaFX est cochée dans la liste des bibliothèques utilisateur, puis cliquez sur Finish.
- Ajouter MySQL Connector/J au Projet :
- Téléchargez la dernière version de MySQL Connector/J depuis https://dev.mysql.com/downloads/connector/j/.
- Configurer MySQL Connector/J dans Eclipse :
- Faites un clic droit sur votre projet dans l’Explorateur de projets et sélectionnez Build Path -> Configure Build Path.
- Allez dans l’onglet Libraries et cliquez sur Add External JARs.
- Sélectionnez le fichier JAR de MySQL Connector/J que vous avez téléchargé et cliquez sur Open.
- Cliquez sur Apply and Close.
-- Création de la base de données 'addressbook'
CREATE DATABASE addressbook;
USE addressbook;
-- Suppression de la table 'contact' si elle existe déjà
DROP TABLE IF EXISTS contact;
-- Création de la table 'contact'
CREATE TABLE contact (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
nick_name VARCHAR(20),
address VARCHAR(128),
home_phone VARCHAR(10),
work_phone VARCHAR(10),
cell_phone VARCHAR(10),
email VARCHAR(100),
birthday DATE,
web_site VARCHAR(100),
profession VARCHAR(100),
PRIMARY KEY (id)
);
-- Insertion de données factices dans la table 'contact'
INSERT INTO contact (name, nick_name, address, home_phone, work_phone, cell_phone, email, birthday, web_site, profession)
VALUES
('Bruce Wayne', 'batman', 'XYZ Batcave', '9876543210', '6278287326', '9182872363', 'batman@gmail.com', '1976-02-03', 'batblog.com', 'Super Hero'),
('Clark Kent', 'superman', 'Krypton Lane', '1234567890', '0987654321', '1112223333', 'superman@dailyplanet.com', '1980-06-18', 'superman.com', 'Journalist');