Vous êtes sur la page 1sur 15

NoSQL

.Spring et MongoDb

Présenté par : MANI Mohammed Adil


1
.Net et MongoDb
Présentation :

o Pour Communiquer avec le serveur MongoDB via une base de données, nous avons
les possibilités suivantes :

o Hibernate : Framework ORM historique, le plus populaire et il est un des


pionners à proposer ce type de solution, utilise HQL pour le requêtage.

o Spring Data : L’objectif et de rendre facile la communication avec les bases de


données, du relationnel jusqu’au NoSQL.

2
.Net et MongoDb
Spring Data :

o Pour créer une application Spring communiquant avec MongoDb, nous allons suivre
les étapes suivantes :

3
.Net et MongoDb
Spring Data :
o Remplir le formulaire par les
informations de votre projet :

o Name : Nom de votre application


o Type : Maven
o Java Version : 8
o Package : le nom du package principale.

4
.Net et MongoDb
Spring Data :
o Choisir les dépendances de votre
projet :

o DevTools : Dans la catégorie Core,


parmi ces fonctionnalités, la
recompilation automatique après la
modification d’un fichier dans
l’application.
o Thymeleaf : Moteur de template.
o Web : Dans la catégorie WEB,
permettant l’intégration du MVC.
o MongoDB : Dans la catégorie
NoSQL, permettant bien sur la
communication avec une base de
données en profitant des avantages
du spring Data.

5
.Net et MongoDb
Spring Data :

o Arborescence de notre projet :


o Src/main/java : contient toutes nos classes.
o Src/main/resources : contient les ficher css, js,
html et jsp, ainsi que le fichier
application.properties.
o Pom.xml : fichier pour la gestion des
dependances.
o Maintenant, nous allons ajouter dans le dossier
Src/main/java les packages suivants :
o Com.principale.config
o Com.pricipale.models.
o Com.principale.repositories.
o Com.principale.controllers.

6
.Net et MongoDb
Spring Data – Activer MongoDB:
o Pour travailler efficacement avec Spring Data MongoDB, vous aurez besoin de quelques
configurations essentiels dans votre projet . Tout d’abord, vous devrez configurer un
MongoClient bean pour pouvoir accéder à la base de données MongoDB. Vous aurez
également besoin d’un modèle Mongo bean pour pouvoir effectuer un accès aux
données basé sur un modèle par rapport à la base de données.
o Le code suivante montre comment écrire une configuration Spring Data MongoDB
simple

7
.Net et MongoDb
Tester la connexion :

o Lancer votre serveur Mongo via la commande mongod.


o Lancer votre application web via la commande : mvn spring-boot:run.
o Vous devez avoir la message suivant sur la console de la commande mongod :

o Vous pouvez vous connecter à un serveur hébergé avec un port diffèrent, juste en
ajoutant deux paramètres au constructeur de MongoClient ( server, port ).

8
.Net et MongoDb
Spring Data :

o Maintenant, nous allons créer un Model


JPA.
o Créer un package : com.principale.models.
o Créer une classe : Orders.java
o Créer une classe Item.java
o Mot clé JPA :

o @Document Identifie un objet de


domaine à mapper sur un document
MongoDB
o @Id Indique qu'un champ est le
champ ID
o @Field Définit les métadonnées
personnalisées pour un champ de
document.
o @Version Identifie une propriété à
utiliser comme champ de version

9
.Net et MongoDb
Accès à notre base de données :

o Ajouter un package com.principale.repositories.


o Ajouter une classe OrderRepository.
o Parce que OrderRepository étend MongoRepository, il étend de manière
transitoire l’Interface Repository et toute interface qui étend Repository aura
automatiquement une implémentation généré au moment de l'exécution. Dans ce
cas OrderRepository sera implémenté pour lire et écrire données dans une base
de données de documents MongoDB.
o L'interface MongoRepository a deux paramètres. Le premier est le type de @Objet
annoté sur le document traité, le second est le type de la propriété @ Id.

10
.Net et MongoDb
Fonctions Hérités dans note répository :

o Long count() : Nombre de documents.


o Void delete(T) : Supprime l’élément passé en paramètres.
o Void delete(ID) : Supprime l’élément ayant l’ID passé en paramètres.
o Boolean exists(T) : True si le document existe.
o List<T> findAll() : Retourne tous les documents de la repo appelante.
o List<T> findAll(Pageable) : Retourne tous les documents de la repo appelante avec
une possibilité de pagination.
o List<T> findAll(Sort) : Retourne tous les documents de la repo appelante avec une
possibilité du trie.
o T findOne(ID) ou bien findById(ID) : Un seul document.
o Save(T) : Ajoute ou modifie le document passé en paramètres.

11
.Net et MongoDb
Création du controlleur :

o Long count() : Nombre de documents.


o Void delete(T) : Supprime l’élément passé en paramètres.
o Void delete(ID) : Supprime l’élément ayant l’ID passé en paramètres.
o Boolean exists(T) : True si le document existe.
o List<T> findAll() : Retourne tous les documents de la repo appelante.
o List<T> findAll(Pageable) : Retourne tous les documents de la repo appelante avec
une possibilité de pagination.
o List<T> findAll(Sort) : Retourne tous les documents de la repo appelante avec une
possibilité du trie.
o T findOne(ID) ou bien findById(ID) : Un seul document.
o Save(T) : Ajoute ou modifie le document passé en paramètres.

12
.Net et MongoDb
Création du controlleur :

o Ajouter un package : com.principale.controller


o Ajouter une classe OrderController annotée par @RestController.
o Ajouter une fonction accéssible via « / » pour enregistrer un Order.
o Lancer sur votre navigateur : localhost:8080
o Vérifier votre base de données OrderDB via la commande mongo.

13
.Net et MongoDb
Autre Fonctionnalités

Liste des Orders

Liste des Orders avec une pagination

14
Order By Id
.Net et MongoDb
Autre Fonctionnalités

Nouvelles fonctions

Appels dans le controlleur


15