一、准备工作

1、 首先,下载mongoDB对Java支持的驱动包 

驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads

mongoDB对Java的相关支持、技术:http://www.mongodb.org/display/DOCS/Java+Language+Center

驱动源码下载:https://download.github.com/mongodb-mongo-java-driver-r2.6.1-7-g6037357.zip

在线查看源码:https://github.com/mongodb/mongo-java-driver

2、 下面建立一个JavaProject工程,导入下载下来的驱动包。即可在Java中使用mongoDB,目录如下: 

Java操作MongoDB

 

二、Java操作MongoDB示例

在本示例之前你需要启动mongod.exe的服务,启动后,下面的程序才能顺利执行; 

 

1、 建立SimpleTest.java,完成简单的mongoDB数据库操作 

Mongo mongo = new Mongo(); 

这样就创建了一个MongoDB的数据库连接对象,它默认连接到当前机器的localhost地址,端口是27017。 

DB db = mongo.getDB(“test”); 

这样就获得了一个test的数据库,如果mongoDB中没有创建这个数据库也是可以正常运行的。如果你读过上一篇文章就知道,mongoDB可以在没有创建这个数据库的情况下,完成数据的添加操作。当添加的时候,没有这个库,mongoDB会自动创建当前数据库。 

得到了db,下一步我们要获取一个“聚集集合DBCollection”,通过db对象的getCollection方法来完成。 

DBCollection users = db.getCollection("users"); 

这样就获得了一个DBCollection,它相当于我们数据库的“表”。 

查询所有数据 

DBCursor cur = users.find(); 

while (cur.hasNext()) { 

System.out.println(cur.next()); 

 1 import java.net.UnknownHostException;
 2 
 3 import com.mongodb.DB;
 4 import com.mongodb.DBCollection;
 5 import com.mongodb.DBCursor;
 6 import com.mongodb.Mongo;
 7 import com.mongodb.MongoException;
 8 import com.mongodb.util.JSON;
 9 public class SimpleTest {
10     public static void main(String[] args) throws UnknownHostException, MongoException {  
11         Mongo mg = new Mongo();        //查询所有的Database        
12         for (String name : mg.getDatabaseNames()) { 
13             System.out.println("dbName: " + name);     
14         }                
15         DB db = mg.getDB("test");        //查询所有的聚集集合       
16         for (String name : db.getCollectionNames()) { 
17             System.out.println("collectionName: " + name);       
18         }                
19         DBCollection users = db.getCollection("users");                //查询所有的数据        
20         DBCursor cur = users.find();       
21         while (cur.hasNext()) {  
22             System.out.println(cur.next());      
23         }        
24         System.out.println(cur.count());        
25         System.out.println(cur.getCursorId());        
26         System.out.println(JSON.serialize(cur));    
27     }
28 }
View Code

相关文章: