mongodb支援多種語言,並且提供了多種語言的驅動。
java操作mongodb實現CURD: 前提:下載相應的驅動:官網上下載:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/ 本人使用mongo-2.10.1.jar版本: 下面有詳細代碼的,每個方法可以單獨執行。其中為了方便運行,每個方法中都重新連結資料庫,而沒有再提出來,因為在此的目的是為了認識mongodb而已。
package com.mongo.dao;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.Mongo;/*** 對基底實體的儲存測試* @author lhy**/public class EntityTest { public static void main(String[] args) throws Exception{ delete(); } /** * 儲存實體物件 * @throws Exception */ public static void saveEntity() throws Exception{ //第一:執行個體化mongo對象,串連mongodb伺服器 包含所有的資料庫 //預設構造方法,預設是串連本機,連接埠號碼,預設是27017 //相當於Mongo mongo =new Mongo("localhost",27017) Mongo mongo =new Mongo(); //第二:串連具體的資料庫 //其中參數是具體資料庫的名稱,若伺服器中不存在,會自動建立 DB db=mongo.getDB("myMongo"); //第三:操作具體的表 //在mongodb中沒有表的概念,而是指集合 //其中參數是資料庫中表,若不存在,會自動建立 DBCollection collection=db.getCollection("user"); //添加操作 //在mongodb中沒有行的概念,而是指文檔 BasicDBObject document=new BasicDBObject(); document.put("id", 1); document.put("name", "小明");// //然後儲存到集合中// // collection.insert(document); //當然我也可以儲存這樣的json串/* { "id":1, "name","小明", "address": { "city":"beijing", "code":"065000" } }*/ //實現上述json串思路如下: //第一種:類似xml時,不斷添加 BasicDBObject addressDocument=new BasicDBObject(); addressDocument.put("city", "beijing"); addressDocument.put("code", "065000"); document.put("address", addressDocument); //然後儲存資料庫中 collection.insert(document); //第二種:直接把json存到資料庫中/* String jsonTest="{'id':1,'name':'小明',"+ "'address':{'city':'beijing','code':'065000'}"+ "}"; DBObject dbobjct=(DBObject)JSON.parse(jsonTest); collection.insert(dbobjct);*/ } /** * 遍曆所有的 * @throws Exception */ public static void selectAll() throws Exception{ //第一:執行個體化mongo對象,串連mongodb伺服器 包含所有的資料庫 //預設構造方法,預設是串連本機,連接埠號碼,預設是27017 //相當於Mongo mongo =new Mongo("localhost",27017) Mongo mongo =new Mongo(); //第二:串連具體的資料庫 //其中參數是具體資料庫的名稱,若伺服器中不存在,會自動建立 DB db=mongo.getDB("myMongo"); //第三:操作具體的表 //在mongodb中沒有表的概念,而是指集合 //其中參數是資料庫中表,若不存在,會自動建立 DBCollection collection=db.getCollection("user"); //查詢操作 //查詢所有 //其中類似access資料庫中遊標概念 DBCursor cursor=collection.find(); System.out.println("mongodb中的user表結果如下:"); while(cursor.hasNext()){ System.out.println(cursor.next()); } } /** * 根據條件查詢 * @throws Exception */ public static void selectPart() throws Exception{ //第一:執行個體化mongo對象,串連mongodb伺服器 包含所有的資料庫 //預設構造方法,預設是串連本機,連接埠號碼,預設是27017 //相當於Mongo mongo =new Mongo("localhost",27017) Mongo mongo =new Mongo(); //第二:串連具體的資料庫 //其中參數是具體資料庫的名稱,若伺服器中不存在,會自動建立 DB db=mongo.getDB("myMongo"); //第三:操作具體的表 //在mongodb中沒有表的概念,而是指集合 //其中參數是資料庫中表,若不存在,會自動建立 DBCollection collection=db.getCollection("user"); //可以直接put BasicDBObject queryObject=new BasicDBObject(); queryObject.put("id", 1); DBCursor querycursor=collection.find(queryObject); System.out.println("條件查詢如下:"); while(querycursor.hasNext()){ System.out.println(querycursor.next()); } } /** * 更新操作 * 更新一條記錄 * @throws Exception */ public static void update()throws Exception{ //第一:執行個體化mongo對象,串連mongodb伺服器 包含所有的資料庫 //預設構造方法,預設是串連本機,連接埠號碼,預設是27017 //相當於Mongo mongo =new Mongo("localhost",27017) Mongo mongo =new Mongo(); //第二:串連具體的資料庫 //其中參數是具體資料庫的名稱,若伺服器中不存在,會自動建立 DB db=mongo.getDB("myMongo"); //第三:操作具體的表 //在mongodb中沒有表的概念,而是指集合 //其中參數是資料庫中表,若不存在,會自動建立 DBCollection collection=db.getCollection("user"); //更新後的對象// 第一種更新方式 BasicDBObject newBasicDBObject =new BasicDBObject(); newBasicDBObject.put("id", 2); newBasicDBObject.put("name", "小紅"); collection.update(new BasicDBObject().append("id", 1),newBasicDBObject); // 第二種更新方式// 更新某一個欄位// BasicDBObject newBasicDBObject =new BasicDBObject().append("$set",new BasicDBObject().append("name", "小紅") );// collection.update(new BasicDBObject().append("id", 1).append("name", "小明"),newBasicDBObject); DBCursor querycursor1=collection.find(); System.out.println("更新後結果如下:"); while(querycursor1.hasNext()){ System.out.println(querycursor1.next()); } } /** * 刪除文檔,其中包括刪除全部或刪除部分 * @throws Exception */ public static void delete() throws Exception{ //第一:執行個體化mongo對象,串連mongodb伺服器 包含所有的資料庫 //預設構造方法,預設是串連本機,連接埠號碼,預設是27017 //相當於Mongo mongo =new Mongo("localhost",27017) Mongo mongo =new Mongo(); //第二:串連具體的資料庫 //其中參數是具體資料庫的名稱,若伺服器中不存在,會自動建立 DB db=mongo.getDB("myMongo"); //第三:操作具體的表 //在mongodb中沒有表的概念,而是指集合 //其中參數是資料庫中表,若不存在,會自動建立 DBCollection collection=db.getCollection("user"); BasicDBObject queryObject1=new BasicDBObject(); queryObject1.put("id", 2); queryObject1.put("name","小紅"); //刪除某一條記錄 collection.remove(queryObject1); //刪除全部 //collection.drop(); DBCursor cursor1=collection.find(); System.out.println("刪除後的結果如下:"); while(cursor1.hasNext()){ System.out.println(cursor1.next()); } } }
其中mongdb通過json字串來執行,至於如何把json字串顯示介面,這個問題,下下篇部落格會給出demo,方便大家練習。