一、准备工作
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示例
在本示例之前你需要启动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 }