• Java + MongoDB Hello World Example--转载


    原文地址:http://www.mkyong.com/mongodb/java-mongodb-hello-world-example/

    A simple Java + MongoDB hello world example – how to connect, create database, collection and document, save, update, remove, get and display document (data).

    Tools and technologies used :

    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. Create a Java Project

    Create a simple Java project with Maven.

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

    2. Get Mongo Java Driver

    Download mongo-java driver from github. For Maven users, declares mongo-java driver in pom.xml.

    pom.xml
    <project ...>
      <dependencies>
     
    	<dependency>
    		<groupId>org.mongodb</groupId>
    		<artifactId>mongo-java-driver</artifactId>
    		<version>2.10.1</version>
    	</dependency>
     
      </dependencies>
     
      <build>
    	<plugins>
    		<plugin>
    			<groupId>org.apache.maven.plugins</groupId>
    			<artifactId>maven-compiler-plugin</artifactId>
    			<version>2.3.1</version>
    			<configuration>
    				<source>1.6</source>
    				<target>1.6</target>
    			</configuration>
    		</plugin>
    	        <plugin>
    			<groupId>org.apache.maven.plugins</groupId>
    			<artifactId>maven-eclipse-plugin</artifactId>
    			<configuration>
    				<downloadSources>true</downloadSources>
    				<downloadJavadocs>true</downloadJavadocs>
    			</configuration>
    		</plugin>
     
    	</plugins>
      </build>
     
    </project>

    . Mongo Connection

    Connect to MongoDB server. For MongoDB version >= 2.10.0, uses MongoClient.

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

    If MongoDB in secure mode, authentication is required.

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

    4. Mongo Database

    Get database. If the database doesn’t exist, MongoDB will create it for you.

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

    Display all databases.

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

    5. Mongo Collection

    Get collection / table.

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

    Display all collections from selected database.

    	DB db = mongo.getDB("testdb");
    	Set<String> tables = db.getCollectionNames();
     
    	for(String coll : tables){
    		System.out.println(coll);
    	}
    Note
    In RDBMS, collection is equal to table.

    6. Save example

    Save a document (data) into a collection (table) named “user”.

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

    Refer to this Java MongoDB insert example.

    7. Update example

    Update a document where “name=mkyong”.

    	DBCollection table = db.getCollection("user");
     
    	BasicDBObject query = new BasicDBObject();
    	query.put("name", "mkyong");
     
    	BasicDBObject newDocument = new BasicDBObject();
    	newDocument.put("name", "mkyong-updated");
     
    	BasicDBObject updateObj = new BasicDBObject();
    	updateObj.put("$set", newDocument);
     
    	table.update(query, updateObj);

    Refer to this Java MongoDB update example.

    8. Find example

    Find document where “name=mkyong”, and display it with DBCursor

    	DBCollection table = db.getCollection("user");
     
    	BasicDBObject searchQuery = new BasicDBObject();
    	searchQuery.put("name", "mkyong");
     
    	DBCursor cursor = table.find(searchQuery);
     
    	while (cursor.hasNext()) {
    		System.out.println(cursor.next());
    	}

    Refer to this Java MongoDB search query example.

    9. Delete example

    Find document where “name=mkyong”, and delete it.

    	DBCollection table = db.getCollection("user");
     
    	BasicDBObject searchQuery = new BasicDBObject();
    	searchQuery.put("name", "mkyong");
     
    	table.remove(searchQuery);

    Refer to this Java MongoDB delete example.

    10. Hello World

    Let review a complete Java + MongoDB example, see comments for self-explanatory.

    App.java
    package com.mkyong.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", "mkyong");
    	document.put("age", 30);
    	document.put("createdDate", new Date());
    	table.insert(document);
     
    	/**** Find and display ****/
    	BasicDBObject searchQuery = new BasicDBObject();
    	searchQuery.put("name", "mkyong");
     
    	DBCursor cursor = table.find(searchQuery);
     
    	while (cursor.hasNext()) {
    		System.out.println(cursor.next());
    	}
     
    	/**** Update ****/
    	// search document where name="mkyong" and update it with new values
    	BasicDBObject query = new BasicDBObject();
    	query.put("name", "mkyong");
     
    	BasicDBObject newDocument = new BasicDBObject();
    	newDocument.put("name", "mkyong-updated");
     
    	BasicDBObject updateObj = new BasicDBObject();
    	updateObj.put("$set", newDocument);
     
    	table.update(query, updateObj);
     
    	/**** Find and display ****/
    	BasicDBObject searchQuery2 
    	    = new BasicDBObject().append("name", "mkyong-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();
        }
     
      }
    }

    Output…

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

    Let use mongo console to check the created database “testdb”, collection “user”, and document.

    $ 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" : "mkyong-updated" }

     

  • 相关阅读:
    C# checklistbox控件用法总结(怎样得到多选的值,以及动态加载数据)
    Tomcat service.xml详解
    修改windows服务器上面tomcat启动窗口的名称
    表空间
    安装selenium遇到的问题
    oracel 锁表查询
    Can not perform this action after onSaveInstanceState
    Caused by: java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.HEADSET_PLUG
    Java.lang.IllegalStateException Activity has been destroyed
    StrictMode 使用
  • 原文地址:https://www.cnblogs.com/davidwang456/p/4360016.html
Copyright © 2020-2023  润新知