mongodb基礎系列——java操作mongodb實現CURD

來源:互聯網
上載者:User

    

   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,方便大家練習。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.