H2 est une base de données rapide et légère qui peut être persistée (dans un fichier) ou non. Je la trouve utile pour au moins 2 cas d’utilisation :
– Lorsque je veux réaliser un PoC, ça me permet d’avoir une base de données configurée en 2 minutes.
– Lorsque je veux faire des tests d’intégration qui communiquent avec une BDD SQL, H2 est une base de données très légère et très rapide qui fait très bien l’affaire.
Ce que j’aime beaucoup avec une base de données H2, c’est qu’elle est vraiment facile à installer et elle vient même avec une petite interface web qui permet de voir sa base et d’exécuter des requêtes.
On va voir étape par étape comment utiliser très simplement une base H2 dans notre application SpringBoot utilisant SpringDataJPA, c’est parti 😎
Note: Cette dépendance est présente dans votre pom.xml si vous sélectionnez “h2” dans l’initialize spring boot (https://start.spring.io/)
II. Configuration
1. Pour une base sans persistence
Pour une base “volatile” c’est à dire qui sera remise à zéro à chaque fois que vous relancez votre application (ce qui est utile pour les tests par exemple) :
Dans le fichier application.properties à la racine de votre projet, ajoutez les lignes suivantes:
Relancez votre application. Si vous allez sur URL http://localhost:port/h2 vous devriez voir une fenêtre de connexion. En remplaçant les informations par celles spécifiées dans votre properties :
Exemple pour une base persistée :
Exemple pour une base non-persistée :
Puis “connect”, vous verrez le contenu de votre base et pourrez effectuer vos requêtes.
C’est tout ce qu’il y a à faire, à présent vos données vont être persistées dans votre base H2 🙂
IV. Pour aller plus loin
Vous pouvez initialiser votre base de données H2 via des scripts SQL qui seront lus au démarrage de l’application.
– Vous pouvez initialiser sa structure via un fichier schema.sql présent dans les ressources de votre projet (à la racine).
– Vous pouvez insérer des données via un fichier data.sql présent dans les ressources de votre projet (à la racine).
Note: suivant votre version de SpringBoot, la façon dont est exécutée ces scripts par défaut peut changer (ordre d’exécution, type de base pour laquelle ils se jouent etc..). Ca a notamment bien changé à partir de SpringBoot 2.5
donc pensez bien à lire la doc 🙂
Exemple:
Résultat:
Conclusion
On a vu ensemble comment pouvoir utiliser H2 dans votre projet SpringBoot et quelques options disponibles. Que ça soit dans les tests ou pour des PoC, je trouve que c’est une base de données légère, facile à configurer qui fait très bien l’affaire 🙂
Introduction
Dans cet article, je vais vous livrer un avis très personnel sur ce que m’a apporté le TDD et les difficultés que j’ai pu rencontrer. Si vous ne savez pas ce qu’est le Test Driven Development, je vous conseille cette vidéo qui est très bien faite : https://www.youtube.com/watch?v=wMY5FE59rkI
Comment j’en suis venu au TDD ?
J’ai eu beaucoup de ch...
Photo by Jackson So on Unsplash
Dans ce court article je vais vous expliquer comment faire en sorte que votre formulaire généré avec le moteur de templating Razor ait bien le bon champ « action » et non un champ « action » vide.
...
Introduction
Dans cet article, on va voir avec un cas concret ce qu’est le mutation testing et comment ça peut vous être utile au quotidien 😀. Sans plus tarder, prenons l’exemple suivant:
On demande à Bob de créer un programme pour déterminer ...
En basculant sur PhpStorm, j'ai été surpris de constater que les annotations n'étaient pas nativement prises en charge par l'IDE.
En effet, PhpStorm ne va pas vous proposer d'ajouter automatiquement les imports nécessaires à vos annotations et va les consi...