Tutoriel d’exemple CRUD de MongoDB Java



Introduction

MongoDB se présente comme une base de données NoSQL performante, reconnue pour sa capacité à gérer et à interroger des ensembles de données volumineux et complexes. Elle est particulièrement prisée pour les applications qui nécessitent une structure adaptable, une mise à l’échelle horizontale et des interactions rapides de lecture et d’écriture. Ce guide a pour objectif de vous accompagner dans la réalisation d’une application Java CRUD (Créer, Lire, Mettre à jour, Supprimer) simplifiée, en utilisant MongoDB.

Prérequis à l’installation

Avant de débuter, assurez-vous d’avoir installé les éléments suivants :

Création d’un projet Maven

Initiez un nouveau projet Maven à l’aide de votre environnement de développement intégré (IDE) favori. Dans le fichier pom.xml, insérez la dépendance pour MongoDB comme suit :


<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.6.1</version>
</dependency>

Établissement de la connexion avec MongoDB

Pour vous connecter à votre instance MongoDB, utilisez le code suivant :


import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoDatabase;

public class MongoDBConnector {

private static final String MONGO_HOST = "localhost";
private static final int MONGO_PORT = 27017;
private static final String MONGO_DB_NAME = "exemple-db";

public static void main(String[] args) {
try (MongoClient mongoClient = MongoClients.create(MONGO_HOST, MONGO_PORT)) {
MongoDatabase database = mongoClient.getDatabase(MONGO_DB_NAME);
System.out.println("Connexion à MongoDB établie avec succès !");
} catch (Exception e) {
System.out.println("Échec de la connexion à MongoDB !");
e.printStackTrace();
}
}
}

Fonctionnalité de création

Pour ajouter un document dans MongoDB, exploitez la méthode insertOne :


import org.bson.Document;

public class MongoDBCreate {

public static void main(String[] args) {
try (MongoClient mongoClient = MongoClients.create(MONGO_HOST, MONGO_PORT)) {
MongoDatabase database = mongoClient.getDatabase(MONGO_DB_NAME);
Document document = new Document("nom", "John Doe").append("âge", 30);
database.getCollection("utilisateurs").insertOne(document);
System.out.println("Document créé avec succès !");
} catch (Exception e) {
System.out.println("Erreur lors de la création du document !");
e.printStackTrace();
}
}
}

Fonctionnalité de lecture

Pour consulter un document dans MongoDB, faites appel à la méthode find :


import com.mongodb.client.FindIterable;

public class MongoDBRead {

public static void main(String[] args) {
try (MongoClient mongoClient = MongoClients.create(MONGO_HOST, MONGO_PORT)) {
MongoDatabase database = mongoClient.getDatabase(MONGO_DB_NAME);
FindIterable<Document> documents = database.getCollection("utilisateurs").find();
for (Document document : documents) {
System.out.println(document.toJson());
}
System.out.println("Documents lus avec succès !");
} catch (Exception e) {
System.out.println("Erreur lors de la lecture des documents !");
e.printStackTrace();
}
}
}

Fonctionnalité de mise à jour

Pour modifier un document dans MongoDB, utilisez la méthode updateOne :


import org.bson.Document;
import org.bson.conversions.Bson;
import static com.mongodb.client.model.Filters.eq;
import static com.mongodb.client.model.Updates.set;

public class MongoDBUpdate {

public static void main(String[] args) {
try (MongoClient mongoClient = MongoClients.create(MONGO_HOST, MONGO_PORT)) {
MongoDatabase database = mongoClient.getDatabase(MONGO_DB_NAME);
Bson filter = eq("_id", 1); // Remplacez 1 par l'identifiant du document à modifier
Bson update = set("nom", "Jane Doe");
database.getCollection("utilisateurs").updateOne(filter, update);
System.out.println("Document mis à jour avec succès !");
} catch (Exception e) {
System.out.println("Erreur lors de la mise à jour du document !");
e.printStackTrace();
}
}
}

Fonctionnalité de suppression

Pour retirer un document dans MongoDB, utilisez la méthode deleteOne :


import org.bson.Document;
import org.bson.conversions.Bson;
import static com.mongodb.client.model.Filters.eq;

public class MongoDBDelete {

public static void main(String[] args) {
try (MongoClient mongoClient = MongoClients.create(MONGO_HOST, MONGO_PORT)) {
MongoDatabase database = mongoClient.getDatabase(MONGO_DB_NAME);
Bson filter = eq("_id", 1); // Remplacez 1 par l'identifiant du document à supprimer
database.getCollection("utilisateurs").deleteOne(filter);
System.out.println("Document supprimé avec succès !");
} catch (Exception e) {
System.out.println("Erreur lors de la suppression du document !");
e.printStackTrace();
}
}
}

Conclusion

Ce tutoriel vous a présenté les opérations CRUD fondamentales dans MongoDB à travers l’utilisation de Java. MongoDB offre une flexibilité et une évolutivité considérables pour les applications qui gèrent des opérations de bases de données complexes. En assimilant les notions de base évoquées ici, vous serez en mesure de développer des applications Java robustes et performantes, qui interagissent efficacement avec MongoDB.

Foire aux questions

  1. Qu’est-ce que MongoDB ?
    MongoDB est une base de données NoSQL orientée documents qui stocke les informations sous forme de documents BSON (Binary JSON).
  2. Pourquoi utiliser MongoDB ?
    MongoDB propose une structure adaptable, une mise à l’échelle horizontale, des opérations de lecture et d’écriture rapides, et une compatibilité avec le cloud.
  3. Comment installer le pilote Java MongoDB ?
    Ajoutez la dépendance du pilote dans votre fichier pom.xml comme expliqué dans ce tutoriel.
  4. Comment se connecter à MongoDB ?
    Utilisez la classe MongoClient pour vous connecter à MongoDB, en spécifiant l’hôte, le port et le nom de la base de données.
  5. Comment créer un document dans MongoDB ?
    Utilisez la méthode insertOne pour insérer un nouveau document, en définissant les champs et leurs valeurs.
  6. Comment lire un document dans MongoDB ?
    Utilisez la méthode find pour extraire des documents, en précisant des filtres si nécessaire.
  7. Comment mettre à jour un document dans MongoDB ?
    Utilisez la méthode updateOne pour modifier des champs spécifiques dans un document, en vous servant de filtres et de mises à jour.
  8. Comment supprimer un document dans MongoDB ?
    Utilisez la méthode deleteOne pour retirer un document qui correspond à un filtre donné.