Spring & JDBC 4 : Delete

Objectifs
- Créer une route qui supprime des données
Repository
Pas de nouveauté du côté du template ou du controller, entrons dans le vif du sujet : JDBC !
public void deleteById(Long id) {
try {
Connection connection = DriverManager.getConnection(
DB_URL, DB_USER, DB_PASSWORD
);
PreparedStatement statement = connection.prepareStatement(
"DELETE FROM wizard WHERE id=?"
);
statement.setLong(1, id);
if (statement.executeUpdate() != 1) {
throw new SQLException("failed to delete data");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
La méthode qui exécute la requête de suppression est executeUpdate. La méthode retourne le nombre de tuples supprimés en base de données. Si ce nombre est différent de 1 : le processus n'a pas fonctionné. C'est pour cela qu'une erreur est levée !
Pas besoin de retourner quoi que ce soit avec la méthode : l'élément a été supprimé.
Challenge
Suppression d'une école de la base de données

Fais un fork du dépôt suivant : https://github.com/WildCodeSchool/quest-spring-jdbc-delete.
Attention: ce projet n'est pas le même que celui de la quête précédente !
Tu reprends le développement d'un site de fan d'Harry Potter afin d'y ajouter des fonctionnalités. En l'état, le site permet la suppression d'un personnage de l'univers de la série.
La base de données est la même que celle de la quête précédente. Cependant, si tu l'as effacée, tu peux importer la base de données spring_jdbc_quest contenue dans le fichier suivant.
L'utilisateur est le même que celui de la quête précédente : h4rryp0tt3r avec le mot de passe Horcrux4life! et tous les droits possibles sur la base de données spring_jdbc_quest.
Tu vas commencer par tester le site et voir comment tout cela fonctionne.
Attention à bien regarder toutes les classes du dépôt avant de commencer le challenge !
- Tester que le site fonctionne correctement
- Ajouter la suppression d'une école, sur la route
/school/delete
Critères de validation
- Le projet s'exécute bien sur la base de données et l'utilisateur requis.
- Il est possible de supprimer une école.
- L'école n'apparaît plus dans la liste après sa suppression.
- Le code JDBC est bien présent dans un repository et non un controller.