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
Avec Spring JDBCTemplate, on peut récupérer des résultats d’une requête SQL sous forme d’une liste d’objets à la manière d’un ORM.
On peut notamment utiliser BeanPropertyRowMapper, une implémentation de RowMapper fournie par Spring permettant de mapper automatiquement les lignes retournées vers nos entités.
On va voir dans cet article quelques exemple...
source: https://imgflip.com/i/5f7ibr
Introduction
Par défaut, il n’est pas autorisé de faire des requêtes entre une application qui est dans un domaine A vers une autre qui serait dans un domaine B (pour des raisons de sécurité, il y a plus de ...
Introduction
Si vous travaillez sur une API Spring au quotidien, vous pouvez trouver rébarbatif le fait de renseigner tous les codes HTTP correspondants aux différents cas d’erreur.
On peut les gérer cette façon:
@PostMapping
public ResponseEntit...
Image prise sur Windows Central
Historique
Pour cet article je vais faire un mini REX sur l’écosystème de Microsoft pour les développeurs.
J’ai commencé à travailler avec les technologies Microsoft vers 2016. Pour situer, Windows 10 devait avoir ...