En aquest mòdul, aprendrem com integrar MongoDB amb Java. Explorarem les biblioteques i eines necessàries, veurem exemples pràctics de codi i realitzarem exercicis per consolidar els coneixements.
Continguts
Introducció a MongoDB amb Java
MongoDB és una base de dades NoSQL que es pot integrar fàcilment amb aplicacions Java utilitzant el controlador oficial de MongoDB per a Java. Aquest controlador proporciona una API rica per interactuar amb MongoDB de manera eficient.
Conceptes Clau
- MongoClient: La classe principal per connectar-se a MongoDB.
- MongoDatabase: Representa una base de dades específica.
- MongoCollection: Representa una col·lecció dins d'una base de dades.
- Document: Representa un document BSON (similar a JSON) dins d'una col·lecció.
Configuració del Projecte
Pas 1: Crear un Projecte Java
- Obre el teu IDE preferit (Eclipse, IntelliJ IDEA, etc.).
- Crea un nou projecte Java.
Pas 2: Afegir les Dependències de MongoDB
Si utilitzes Maven, afegeix la següent dependència al teu pom.xml
:
<dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver-sync</artifactId> <version>4.3.1</version> </dependency>
Pas 3: Connectar-se a MongoDB
Crea una classe Java per gestionar la connexió a MongoDB:
import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; public class MongoDBConnection { public static void main(String[] args) { // Connexió a MongoDB MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017"); // Accedir a la base de dades MongoDatabase database = mongoClient.getDatabase("mydatabase"); System.out.println("Connexió exitosa a la base de dades: " + database.getName()); // Tancar la connexió mongoClient.close(); } }
Operacions CRUD amb Java
Crear Documents
import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; public class CreateDocument { public static void main(String[] args) { MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017"); MongoDatabase database = mongoClient.getDatabase("mydatabase"); MongoCollection<Document> collection = database.getCollection("mycollection"); Document document = new Document("name", "John Doe") .append("age", 30) .append("city", "New York"); collection.insertOne(document); System.out.println("Document inserit amb èxit"); mongoClient.close(); } }
Llegir Documents
import com.mongodb.client.FindIterable; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; public class ReadDocument { public static void main(String[] args) { MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017"); MongoDatabase database = mongoClient.getDatabase("mydatabase"); MongoCollection<Document> collection = database.getCollection("mycollection"); FindIterable<Document> documents = collection.find(); for (Document doc : documents) { System.out.println(doc.toJson()); } mongoClient.close(); } }
Actualitzar Documents
import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import com.mongodb.client.model.Updates; import org.bson.Document; public class UpdateDocument { public static void main(String[] args) { MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017"); MongoDatabase database = mongoClient.getDatabase("mydatabase"); MongoCollection<Document> collection = database.getCollection("mycollection"); collection.updateOne(Filters.eq("name", "John Doe"), Updates.set("age", 31)); System.out.println("Document actualitzat amb èxit"); mongoClient.close(); } }
Eliminar Documents
import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Filters; import org.bson.Document; public class DeleteDocument { public static void main(String[] args) { MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017"); MongoDatabase database = mongoClient.getDatabase("mydatabase"); MongoCollection<Document> collection = database.getCollection("mycollection"); collection.deleteOne(Filters.eq("name", "John Doe")); System.out.println("Document eliminat amb èxit"); mongoClient.close(); } }
Exercicis Pràctics
Exercici 1: Crear i Llegir Documents
- Crea una col·lecció anomenada
students
i insereix diversos documents amb els campsname
,age
icourse
. - Llegeix tots els documents de la col·lecció
students
i mostra'ls per pantalla.
Solució
import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; public class StudentCRUD { public static void main(String[] args) { MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017"); MongoDatabase database = mongoClient.getDatabase("mydatabase"); MongoCollection<Document> collection = database.getCollection("students"); // Crear documents Document student1 = new Document("name", "Alice") .append("age", 22) .append("course", "Computer Science"); Document student2 = new Document("name", "Bob") .append("age", 24) .append("course", "Mathematics"); collection.insertOne(student1); collection.insertOne(student2); // Llegir documents for (Document doc : collection.find()) { System.out.println(doc.toJson()); } mongoClient.close(); } }
Conclusió
En aquest mòdul, hem après com integrar MongoDB amb Java, configurar el projecte, i realitzar operacions CRUD bàsiques. Amb aquests coneixements, estàs preparat per començar a desenvolupar aplicacions Java que utilitzin MongoDB com a base de dades. En els següents mòduls, explorarem funcions més avançades i aplicacions del món real.
Curs de MongoDB
Mòdul 1: Introducció a MongoDB
Mòdul 2: Operacions CRUD a MongoDB
Mòdul 3: Modelatge de Dades a MongoDB
Mòdul 4: Indexació i Agregació
Mòdul 5: Funcions Avançades de MongoDB
Mòdul 6: Rendiment i Seguretat
- Optimització del Rendiment
- Còpia de Seguretat i Restauració
- Millors Pràctiques de Seguretat
- Monitorització i Alertes