mongodb中有三元素:資料庫,集合,文檔,其中"集合"就是對應關聯式資料庫中的"表","文檔‘對應“行'。
1、 首先,下載mongoDB對Java支援的驅動包
<dependency> <groupId> org.mongodb</groupId > <artifactId> mongo-java-driver </artifactId> <version> 2.9.3</ version> </dependency>
2、java 串連mongoDB 資料庫
/**
url 資料庫ip地址
port 連接埠
dbNname 資料庫名稱
tmcinfo 集合名稱
**/
Mongo mongo = new Mongo(url,Integer.parseInt(port)); db = mongo.getDB(dbName); if(db.authenticate(user, pwd.toCharArray())){ return true ; } DBCollection users = db.getCollection("tmcinfo");
3、crud操作
查詢:
DBCursor cur = users.find(); while (cur.hasNext()) { System.out.println(cur.next()); }
查詢刪除:查詢age=25的資料,並且刪除
dbCollection.findAndRemove(new BasicDBObject("age", 25))
插入:
BasicDBObject document = new BasicDBObject(); document.put("id", 1001); document.put("msg", "hello world mongoDB in Java"); DBCollection dbCollection = db.getCollection( TABLE_NAME); dbCollection .insert(document);
批量插入:一次批量插入式單個TCP請求,所以會避免零碎的請求帶來的開銷。
List<DBObject> list = new ArrayList<DBObject>();
dbCollection .insert(list).getN());//getN() 影響行數
刪除:
dbCollection .remove(new BasicDBObject("age", new BasicDBObject("$gte", 24))).getN())
刪除整個集合 dbCollection.remove();比db.drop_collection(TABLE_NAME) 速度慢,後者是直接刪除集合,但是所有索引也被刪除了
修改:
dbCollection .update(new BasicDBObject("_id", new ObjectId("4dde2b06feb038463ff09042")), new BasicDBObject("age", 121)
返回已更新的文檔 查詢age=26的資料,並且修改name的值為Abc
dbCollection.findAndModify(new BasicDBObject("age", 26), new BasicDBObject("name", "Abc")));
JAVA - MONGODB
API文檔的地址
http://api.mongodb.org/java/
官方入門地址 http://www.mongodb.org/display/DOCS/Java+Tutorial