Skip to content

Latest commit

 

History

History

dubreuia-sql-jpa

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

SQL et JPA

SQL

Installer sqlite3 (sudo apt-get install sqlite3 libsqlite3-dev).

Création table, contenu et recherche

  • Créer une nouvelle table CREATE TABLE students (id int, first_name varchar(128), last_name varchar(128));
  • Ajouter du contenu
    • INSERT INTO students VALUES (1, "Alexandre", "DuBreuil");
    • INSERT INTO students VALUES (1, "Alexandre", "DuBreuil");
    • INSERT INTO students VALUES (2, NULL, "DuBreuil");
  • Rechercher du contenu
    • SELECT * FROM students;
    • SELECT * FROM students WHERE id = 1;
    • SELECT * FROM students WHERE id = 2;
    • SELECT * FROM students WHERE first_name IS NULL;
  • Compter le nombre d'éléments SELECT count(*) FROM students;
  • Supprimer une table DROP TABLE students

Ajout de contraintes

  • Créer table avec contraintes CREATE TABLE students (id INTEGER PRIMARY KEY, first_name VARCHAR(128), last_name VARCHAR(128) NOT NULL);
  • Ajouter du contenu
    • INSERT INTO students VALUES (1, "Alexandre", "DuBreuil");
    • INSERT INTO students VALUES (1, "Alexandre", "DuBreuil");
    • Error: UNIQUE constraint failed: students.id
    • INSERT INTO students VALUES (2, "Alexandre", NULL);
    • Error: NOT NULL constraint failed: students.last_name
    • INSERT INTO students VALUES (NULL, "Alexandre", NULL);
    • Auto increment
  • Supprimer une table DROP TABLE students

Types de donnes et modification

  • Créer table CREATE TABLE students (id INTEGER PRIMARY KEY, first_name VARCHAR(128), last_name VARCHAR(128) NOT NULL, birthdate DATE NOT NULL, note DOUBLE);
  • Ajouter du contenu
    • INSERT INTO students VALUES (1, "Alexandre", "DuBreuil", date("1987-11-32"), NULL);
  • Modifier du contenu
    • UPDATE students SET note = 16.8 WHERE id = 1;
  • Supprimer du contenu
    • DELETE FROM students WHERE id = 1;

Java SQL

Pour se connecter à la base de donnée, il faut ajouter le driver JDBC pour SQlite.

Dans la classe Sql: - Écrire une méthode printStudents, qui affiche le contenu de la table "students" - Écrire une méthode isStudentPresent, qui retourne true si au moins un étudiant avec ce nom et prénom est présent - Écrire une méthode addStudent, qui ajoute un étudiant à la table "students"

JPA

  • Lancer un MySQL dans un docker avec le code du step 3 du README cars
  • Compléter le persistence.xml
  • Compléter la classe Students
  • Dans la classe Jpa:
    • Écrire une méthode printStudents, qui affiche le contenu de la table "students"
    • Écrire une méthode isStudentPresent, qui retourne true si au moins un étudiant avec ce nom et prénom est présent
    • Écrire une méthode addStudent, qui ajoute un étudiant à la table "students"

References