by Marc-David Militz
Forum: MongoDB Theorie
git clone https://github.com/mongodb-developer/java-quick-start
Über diesen Link können Sie das Repository auch als Zip-Datei herunterladen.
https://github.com/mongodb-developer/java-quick-start/archive/master.zip
java-quick-start/
├── pom.xml
└── src
└── main
└── java
└── com
└── mongodb
Die pom.xml-Datei sollte den folgenden Code enthalten:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mongodb</groupId>
<artifactId>java-quick-start</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven-compiler-plugin.source>8</maven-compiler-plugin.source>
<maven-compiler-plugin.target>8</maven-compiler-plugin.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mongodb-driver-sync.version>3.11.0</mongodb-driver-sync.version>
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
</properties>
<dependencies>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>${mongodb-driver-sync.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${maven-compiler-plugin.source}</source>
<target>${maven-compiler-plugin.target}</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Um sicherzustellen, dass alles korrekt funktioniert, sollten Sie in der Lage sein, ein Einfaches "Hello MongoDB!" - Programm zu erstellen und auszuführen. Erstellen Sie in "src/main/java/com/mongodb/ die Datei "HelloMongoDB.java":
package com.mongodb;
public class HelloMongoDB {
public static void main(String[] args) {
System.out.println("Hello MongoDB!");
}
}
Kompilieren Sie es dann und führen Sie es mit Ihrer IDE aus, oder verwenden Sie die Befehlszeile im Stammverzeichnis (in dem sich der Ordner "src" befindet):
mvn compile exec:java -Dexec.mainClass="com.mongodb.HelloMongoDB"
Das Ergebnis sollte so aussehen:
[...]
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------< com.mongodb:java-quick-start >--------------------
[INFO] Building java-quick-start 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ java-quick-start ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ java-quick-start ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- exec-maven-plugin:1.4.0:java (default-cli) @ java-quick-start ---
Hello MongoDB!
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.786 s
[INFO] Finished at: 2019-10-02T20:19:36+02:00
[INFO] ------------------------------------------------------------------------
Hinweis: Wenn Sie von guice.java Warnungen bezüglich eines illegalen reflektierenden Zugriffs erhalten, können Sie diese ignorieren. Guice wird von Maven verwendet und benötigt ein Update. Hier können Sie mehr darüber lesen.
https://github.com/google/guice/issues/1133
Diese Warnungen werden in einer zukünftigen Version von Guice and Maven verschwinden.
package com.mongodb;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.diagnostics.logging.Loggers;
import org.bson.Document;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
public class Connection {
public static void main(String[] args) {
Logger.getLogger(Loggers.PREFIX).setLevel(Level.WARNING);
String connectionString = System.getProperty("mongodb.uri");
try (MongoClient mongoClient = MongoClients.create(connectionString)) {
List<Document> databases = mongoClient.listDatabases().into(new ArrayList<>());
databases.forEach(db -> System.out.println(db.toJson()));
}
}
}
Wie Sie sehen, wird die MongoDB-Verbindungszeichenfolge aus den Systemeigenschaften abgerufen, daher müssen wir dies einrichten. Nachdem Sie die MongoDB Atlas-Verbindungszeichenfolge abgerufen haben, können Sie die Systemeigenschaft "mongodb.uri" in Ihre IDE einfügen. Hier ist meine Konfiguration mit IntelliJ zum Beispiel.
Wenn Sie Maven lieber in der Befehlszeile verwenden möchten, finden Sie hier die entsprechende Befehlszeile, die Sie im Stammverzeichnis ausführen können:
mvn compile exec:java -Dexec.mainClass="com.mongodb.Connection" -Dmongodb.uri="mongodb+srv://username:password@cluster0-abcde.mongodb.net/test?w=majority"
Hinweis: Vergessen Sie nicht die doppelten Anführungszeichen um den MongoDB-URI, um Überraschungen durch Ihre Shell zu vermeiden. Die Standardausgabe sollte folgendermaßen aussehen:
{"name": "admin", "sizeOnDisk": 303104.0, "empty": false}
{"name": "config", "sizeOnDisk": 147456.0, "empty": false}
{"name": "local", "sizeOnDisk": 5.44731136E8, "empty": false}
{"name": "sample_airbnb", "sizeOnDisk": 5.761024E7, "empty": false}
{"name": "sample_geospatial", "sizeOnDisk": 1384448.0, "empty": false}
{"name": "sample_mflix", "sizeOnDisk": 4.583424E7, "empty": false}
{"name": "sample_supplies", "sizeOnDisk": 1339392.0, "empty": false}
{"name": "sample_training", "sizeOnDisk": 7.4801152E7, "empty": false}
{"name": "sample_weatherdata", "sizeOnDisk": 5103616.0, "empty": false}