Java + MongoDB Hallo Weltbeispiel

Java + MongoDB Hallo Welt Beispiel

Java mongodb hello world

Ein einfaches Java + MongoDB Hallo Welt-Beispiel - wie man eine Verbindung herstellt, eine Datenbank erstellt, ein Dokument sammelt und dokumentiert, ein Dokument (Daten) speichert, aktualisiert, entfernt, abruft und anzeigt.

Verwendete Tools und Technologien:

  1. MongoDB 2.2.3

  2. MongoDB-Java-Driver 2.10.1

  3. JDK 1.6

  4. Maven 3.0.3

  5. Eclipse 4.2

P.S Maven and Eclipse are both optional, just my personal favorite development tool.

1. Erstellen Sie ein Java-Projekt

Erstellen Sie mit Maven einsimple Java project.

mvn archetype:generate -DgroupId=com.example.core -DartifactId=mongodb
  -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

2. Holen Sie sich Mongo Java Driver

Laden Sie den Mongo-Java-Treiber vongithub herunter. Deklariert für Maven-Benutzer den Mongo-Java-Treiber inpom.xml.

pom.xml


  

    
        org.mongodb
        mongo-java-driver
        2.10.1
    

  

  
    
        
            org.apache.maven.plugins
            maven-compiler-plugin
            2.3.1
            
                1.6
                1.6
            
        
            
            org.apache.maven.plugins
            maven-eclipse-plugin
            
                true
                true
            
        

    
  

3. Mongo-Verbindung

Stellen Sie eine Verbindung zum MongoDB-Server her. Verwendet für die MongoDB-Version> = 2.10.0MongoClient.

    // Old version, uses Mongo
    Mongo mongo = new Mongo("localhost", 27017);

    // Since 2.10.0, uses MongoClient
    MongoClient mongo = new MongoClient( "localhost" , 27017 );

Wenn sich MongoDB im sicheren Modus befindet, ist eine Authentifizierung erforderlich.

    MongoClient mongoClient = new MongoClient();
    DB db = mongoClient.getDB("database name");
    boolean auth = db.authenticate("username", "password".toCharArray());

4. Mongo-Datenbank

Datenbank abrufen. Wenn die Datenbank nicht vorhanden ist, erstellt MongoDB sie für Sie.

    DB db = mongo.getDB("database name");

Alle Datenbanken anzeigen.

    List dbs = mongo.getDatabaseNames();
    for(String db : dbs){
        System.out.println(db);
    }

5. Mongo-Sammlung

Sammlung / Tisch holen.

    DB db = mongo.getDB("testdb");
    DBCollection table = db.getCollection("user");

Alle Sammlungen der ausgewählten Datenbank anzeigen.

    DB db = mongo.getDB("testdb");
    Set tables = db.getCollectionNames();

    for(String coll : tables){
        System.out.println(coll);
    }

Note
In RDBMS entspricht die Sammlung der Tabelle.

6. Beispiel speichern

Speichern Sie ein Dokument (Daten) in einer Sammlung (Tabelle) mit dem Namen "Benutzer".

    DBCollection table = db.getCollection("user");
    BasicDBObject document = new BasicDBObject();
    document.put("name", "example");
    document.put("age", 30);
    document.put("createdDate", new Date());
    table.insert(document);

Beziehen Sie sich auf dieseJava MongoDB insert example.

7. Beispiel aktualisieren

Aktualisieren Sie ein Dokument mit "Name = Beispiel".

    DBCollection table = db.getCollection("user");

    BasicDBObject query = new BasicDBObject();
    query.put("name", "example");

    BasicDBObject newDocument = new BasicDBObject();
    newDocument.put("name", "example-updated");

    BasicDBObject updateObj = new BasicDBObject();
    updateObj.put("$set", newDocument);

    table.update(query, updateObj);

Beziehen Sie sich auf dieseJava MongoDB update example.

8. Beispiel finden

Suchen Sie ein Dokument mit dem Namen "name = example" und zeigen Sie es mit DBCursor an

    DBCollection table = db.getCollection("user");

    BasicDBObject searchQuery = new BasicDBObject();
    searchQuery.put("name", "example");

    DBCursor cursor = table.find(searchQuery);

    while (cursor.hasNext()) {
        System.out.println(cursor.next());
    }

Beziehen Sie sich auf dieseJava MongoDB search query example.

9. Beispiel löschen

Suchen Sie ein Dokument mit dem Namen "name = example" und löschen Sie es.

    DBCollection table = db.getCollection("user");

    BasicDBObject searchQuery = new BasicDBObject();
    searchQuery.put("name", "example");

    table.remove(searchQuery);

Beziehen Sie sich auf dieseJava MongoDB delete example.

10. Hallo Welt

Sehen Sie sich ein vollständiges Java + MongoDB-Beispiel an. Die Kommentare sind selbsterklärend.

App.java

package com.example.core;

import java.net.UnknownHostException;
import java.util.Date;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.MongoClient;
import com.mongodb.MongoException;

/**
 * Java + MongoDB Hello world Example
 *
 */
public class App {
  public static void main(String[] args) {

    try {

    /**** Connect to MongoDB ****/
    // Since 2.10.0, uses MongoClient
    MongoClient mongo = new MongoClient("localhost", 27017);

    /**** Get database ****/
    // if database doesn't exists, MongoDB will create it for you
    DB db = mongo.getDB("testdb");

    /**** Get collection / table from 'testdb' ****/
    // if collection doesn't exists, MongoDB will create it for you
    DBCollection table = db.getCollection("user");

    /**** Insert ****/
    // create a document to store key and value
    BasicDBObject document = new BasicDBObject();
    document.put("name", "example");
    document.put("age", 30);
    document.put("createdDate", new Date());
    table.insert(document);

    /**** Find and display ****/
    BasicDBObject searchQuery = new BasicDBObject();
    searchQuery.put("name", "example");

    DBCursor cursor = table.find(searchQuery);

    while (cursor.hasNext()) {
        System.out.println(cursor.next());
    }

    /**** Update ****/
    // search document where name="example" and update it with new values
    BasicDBObject query = new BasicDBObject();
    query.put("name", "example");

    BasicDBObject newDocument = new BasicDBObject();
    newDocument.put("name", "example-updated");

    BasicDBObject updateObj = new BasicDBObject();
    updateObj.put("$set", newDocument);

    table.update(query, updateObj);

    /**** Find and display ****/
    BasicDBObject searchQuery2
        = new BasicDBObject().append("name", "example-updated");

    DBCursor cursor2 = table.find(searchQuery2);

    while (cursor2.hasNext()) {
        System.out.println(cursor2.next());
    }

    /**** Done ****/
    System.out.println("Done");

    } catch (UnknownHostException e) {
    e.printStackTrace();
    } catch (MongoException e) {
    e.printStackTrace();
    }

  }
}

Ausgabe…

{ "_id" : { "$oid" : "51398e6e30044a944cc23e2e"} , "name" : "example" , "age" : 30 , "createdDate" : { "$date" : "2013-03-08T07:08:30.168Z"}}
{ "_id" : { "$oid" : "51398e6e30044a944cc23e2e"} , "age" : 30 , "createdDate" : { "$date" : "2013-03-08T07:08:30.168Z"} , "name" : "example-updated"}
Done

Verwenden Sie die Konsole vonmongo, um die erstellte Datenbank "testdb", die Sammlung "user" und das Dokument zu überprüfen.

$ mongo
MongoDB shell version: 2.2.3
connecting to: test

> show dbs
testdb  0.203125GB

> use testdb
switched to db testdb

> show collections
system.indexes
user
> db.user.find()
{ "_id" : ObjectId("51398e6e30044a944cc23e2e"), "age" : 30, "createdDate" : ISODate("2013-03-08T07:08:30.168Z"), "name" : "example-updated" }

Quellcode herunterladen

Laden Sie es herunter -Java-mongodb-hello-world-example.zip (13KB)