一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語言 - JAVA教程 - java操作mongodb實現(xiàn)CURD功能實例

java操作mongodb實現(xiàn)CURD功能實例

2019-10-25 13:41java教程網(wǎng) JAVA教程

mongodb支持多種語言,并且提供了多種語言的驅(qū)動,本文使用java操作mongodb實現(xiàn)CURD功能,大家參考使用吧

先下載相應(yīng)的驅(qū)動:官網(wǎng)上下載:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/
本文使用mongo-2.10.1.jar版本:

下面有詳細(xì)代碼的,每個方法可以單獨執(zhí)行。其中為了方便運行,每個方法中都重新鏈接數(shù)據(jù)庫,而沒有再提出來,因為在此的目的是為了認(rèn)識mongodb而已。

 

復(fù)制代碼代碼如下:


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服務(wù)器  包含所有的數(shù)據(jù)庫

          //默認(rèn)構(gòu)造方法,默認(rèn)是連接本機,端口號,默認(rèn)是27017
          //相當(dāng)于Mongo mongo =new Mongo("localhost",27017)
          Mongo mongo =new Mongo();

          //第二:連接具體的數(shù)據(jù)庫
          //其中參數(shù)是具體數(shù)據(jù)庫的名稱,若服務(wù)器中不存在,會自動創(chuàng)建
          DB db=mongo.getDB("myMongo");

          //第三:操作具體的表
         //在mongodb中沒有表的概念,而是指集合
          //其中參數(shù)是數(shù)據(jù)庫中表,若不存在,會自動創(chuàng)建
          DBCollection collection=db.getCollection("user");

          //添加操作
          //在mongodb中沒有行的概念,而是指文檔
          BasicDBObject document=new BasicDBObject();

          document.put("id", 1);
          document.put("name", "小明");
//          //然后保存到集合中
//     //     collection.insert(document);

         
          //當(dāng)然我也可以保存這樣的json串
/*          {
               "id":1,
               "name","小明",
               "address":
               {
               "city":"beijing",
               "code":"065000"
               }
          }*/
          //實現(xiàn)上述json串思路如下:
          //第一種:類似xml時,不斷添加
          BasicDBObject addressDocument=new BasicDBObject();
          addressDocument.put("city", "beijing");
          addressDocument.put("code", "065000");
          document.put("address", addressDocument);
          //然后保存數(shù)據(jù)庫中
          collection.insert(document);

          //第二種:直接把json存到數(shù)據(jù)庫中
/*          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服務(wù)器  包含所有的數(shù)據(jù)庫

          //默認(rèn)構(gòu)造方法,默認(rèn)是連接本機,端口號,默認(rèn)是27017
          //相當(dāng)于Mongo mongo =new Mongo("localhost",27017)
          Mongo mongo =new Mongo();

          //第二:連接具體的數(shù)據(jù)庫
          //其中參數(shù)是具體數(shù)據(jù)庫的名稱,若服務(wù)器中不存在,會自動創(chuàng)建
          DB db=mongo.getDB("myMongo");

          //第三:操作具體的表
         //在mongodb中沒有表的概念,而是指集合
          //其中參數(shù)是數(shù)據(jù)庫中表,若不存在,會自動創(chuàng)建
          DBCollection collection=db.getCollection("user");

          //查詢操作
          //查詢所有
          //其中類似access數(shù)據(jù)庫中游標(biāo)概念
          DBCursor cursor=collection.find();
          System.out.println("mongodb中的user表結(jié)果如下:");
          while(cursor.hasNext()){
               System.out.println(cursor.next());
          }
     }

     /**
     * 根據(jù)條件查詢
     * @throws Exception
     */
     public static void selectPart() throws Exception{
          //第一:實例化mongo對象,連接mongodb服務(wù)器  包含所有的數(shù)據(jù)庫

          //默認(rèn)構(gòu)造方法,默認(rèn)是連接本機,端口號,默認(rèn)是27017
          //相當(dāng)于Mongo mongo =new Mongo("localhost",27017)
          Mongo mongo =new Mongo();

          //第二:連接具體的數(shù)據(jù)庫
          //其中參數(shù)是具體數(shù)據(jù)庫的名稱,若服務(wù)器中不存在,會自動創(chuàng)建
          DB db=mongo.getDB("myMongo");

          //第三:操作具體的表
         //在mongodb中沒有表的概念,而是指集合
          //其中參數(shù)是數(shù)據(jù)庫中表,若不存在,會自動創(chuàng)建
          DBCollection collection=db.getCollection("user");

    
          //可以直接put
          BasicDBObject queryObject=new BasicDBObject();
          queryObject.put("id", 1);
          DBCursor querycursor=collection.find(queryObject);
          System.out.println("條件查詢?nèi)缦拢?quot;);
          while(querycursor.hasNext()){
               System.out.println(querycursor.next());
          }
     }

     /**
     * 更新操作
     * 更新一條記錄
     * @throws Exception
     */
     public static void update()throws Exception{
          //第一:實例化mongo對象,連接mongodb服務(wù)器  包含所有的數(shù)據(jù)庫

          //默認(rèn)構(gòu)造方法,默認(rèn)是連接本機,端口號,默認(rèn)是27017
          //相當(dāng)于Mongo mongo =new Mongo("localhost",27017)
          Mongo mongo =new Mongo();

          //第二:連接具體的數(shù)據(jù)庫
          //其中參數(shù)是具體數(shù)據(jù)庫的名稱,若服務(wù)器中不存在,會自動創(chuàng)建
          DB db=mongo.getDB("myMongo");

          //第三:操作具體的表
         //在mongodb中沒有表的概念,而是指集合
          //其中參數(shù)是數(shù)據(jù)庫中表,若不存在,會自動創(chuàng)建
          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("更新后結(jié)果如下:");
          while(querycursor1.hasNext()){
               System.out.println(querycursor1.next());
          }
     }

     /**
     * 刪除文檔,其中包括刪除全部或刪除部分
     * @throws Exception
     */
     public static void delete() throws Exception{

          //第一:實例化mongo對象,連接mongodb服務(wù)器  包含所有的數(shù)據(jù)庫

          //默認(rèn)構(gòu)造方法,默認(rèn)是連接本機,端口號,默認(rèn)是27017
          //相當(dāng)于Mongo mongo =new Mongo("localhost",27017)
          Mongo mongo =new Mongo();

          //第二:連接具體的數(shù)據(jù)庫
          //其中參數(shù)是具體數(shù)據(jù)庫的名稱,若服務(wù)器中不存在,會自動創(chuàng)建
          DB db=mongo.getDB("myMongo");

          //第三:操作具體的表
         //在mongodb中沒有表的概念,而是指集合
          //其中參數(shù)是數(shù)據(jù)庫中表,若不存在,會自動創(chuàng)建
          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("刪除后的結(jié)果如下:");
          while(cursor1.hasNext()){
               System.out.println(cursor1.next());
          }

    
     }

    
}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久黄色大片 | 免费观看欧美成人禁片 | 久久偷拍免费2017 | 国产播放啪视频免费视频 | 美女全身无遮挡 | 肉浦团在线观看 | 性xxxx直播放免费 | 精品免费看 | 暖暖 免费 高清 中文 日本 | yy8090韩国日本三理论免费 | 欧美日韩成人在线 | 99精品国产高清自在线看超 | 久久最新地址获取 | 母乳在线 | 午夜一级免费视频 | 免费网站看v片在线香蕉 | 国产精品免费 | 91久色| 女人c交zzzooo在线观看 | 国产成人综合视频 | 美女无内裤下部黄 | 大象传媒短视频网站 | 欧美特黄三级在线观看 | 日韩妹妹 | 国产一卡二卡3卡4卡更新 | 四虎黄色网址 | 国产精品久久久久久久久久久久久久 | 十大看黄网站 | 亚洲日韩男人网在线 | 亚洲国产成人在人网站天堂 | 99精品国产高清自在线看超 | 国产成人在线播放视频 | 欧美日韩中文国产一区 | 丝瓜黄瓜茄子西红柿秋葵榴莲 | 日本暖暖在线视频 | 久草在线精彩免费视频 | 国产91精选在线观看麻豆 | 日韩理论片在线看免费观看 | 日本人啪啪 | tube4欧美4| 女人国产香蕉久久精品 |