日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 開發(fā) > Java > 正文

MongoDB Java 筆記

2024-07-21 02:53:05
字體:
供稿:網(wǎng)友

MongoDB java

環(huán)境配置

在 Java 程序中如果要使用 MongoDB,你需要確保已經(jīng)安裝了 Java 環(huán)境及 MongoDB JDBC 驅(qū)動(dòng)。

本章節(jié)實(shí)例時(shí)候 Mongo 3.x 以上版本。

你可以參考本站的Java教程來安裝Java程序。現(xiàn)在讓我們來檢測你是否安裝了 MongoDB JDBC 驅(qū)動(dòng)。

首先你必須下載mongo jar包,下載地址:http://mongodb.github.io/mongo-java-driver/, 請確保下載最新版本。

你需要將 mongo-java-driver-3.2.2.jar (找到合適的版本)包含在你的 classpath 中。。國內(nèi) mongodb-driver jar 下載地址:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/

連接數(shù)據(jù)庫

連接數(shù)據(jù)庫,你需要指定數(shù)據(jù)庫名稱,如果指定的數(shù)據(jù)庫不存在,mongo會自動(dòng)創(chuàng)建數(shù)據(jù)庫。

連接數(shù)據(jù)庫的Java代碼如下:

import com.mongodb.MongoClient;import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{   public static void main( String args[] ){      try{          // 連接到 mongodb 服務(wù)         MongoClient mongoClient = new MongoClient( "localhost" , 27017 );                // 連接到數(shù)據(jù)庫         MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");         System.out.PRintln("Connect to database successfully");              }catch(Exception e){        System.err.println( e.getClass().getName() + ": " + e.getMessage() );     }   }}

現(xiàn)在,讓我們來編譯運(yùn)行程序并連接到數(shù)據(jù)庫 mycol。

你可以根據(jù)你的實(shí)際環(huán)境改變 MongoDB JDBC 驅(qū)動(dòng)的路徑。

本實(shí)例將 MongoDB JDBC 啟動(dòng)包 mongo-java-driver-3.2.2.jar 放在本地目錄下:

$ javac -cp .:mongo-java-driver-3.2.2.jar MongoDBJDBC.java$ java -cp .:mongo-java-driver-3.2.2.jar MongoDBJDBCConnect to database successfullyAuthentication: true

本實(shí)例中 Mongo 數(shù)據(jù)庫無需用戶名密碼驗(yàn)證。如果你的 Mongo 需要驗(yàn)證用戶名及密碼,可以使用以下代碼:

import java.util.ArrayList;  import java.util.List;  import com.mongodb.MongoClient;  import com.mongodb.MongoCredential;  import com.mongodb.ServerAddress;  import com.mongodb.client.MongoDatabase;    public class MongoDBJDBC {      public static void main(String[] args){          try {              //連接到MongoDB服務(wù) 如果是遠(yuǎn)程連接可以替換“l(fā)ocalhost”為服務(wù)器所在ip地址              //ServerAddress()兩個(gè)參數(shù)分別為 服務(wù)器地址 和 端口              ServerAddress serverAddress = new ServerAddress("localhost",27017);              List<ServerAddress> addrs = new ArrayList<ServerAddress>();              addrs.add(serverAddress);                            //MongoCredential.createScramSha1Credential()三個(gè)參數(shù)分別為 用戶名 數(shù)據(jù)庫名稱 密碼              MongoCredential credential = MongoCredential.createScramSha1Credential("username", "databaseName", "passWord".toCharArray());              List<MongoCredential> credentials = new ArrayList<MongoCredential>();              credentials.add(credential);                            //通過連接認(rèn)證獲取MongoDB連接              MongoClient mongoClient = new MongoClient(addrs,credentials);                            //連接到數(shù)據(jù)庫              MongoDatabase mongoDatabase = mongoClient.getDatabase("databaseName");              System.out.println("Connect to database successfully");          } catch (Exception e) {              System.err.println( e.getClass().getName() + ": " + e.getMessage() );          }      }  } 

創(chuàng)建集合

我們可以使用 com.mongodb.client.MongoDatabase 類中的createCollection()來創(chuàng)建集合

代碼片段如下:

import com.mongodb.MongoClient;import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{   public static void main( String args[] ){      try{         // 連接到 mongodb 服務(wù)      MongoClient mongoClient = new MongoClient( "localhost" , 27017 );                      // 連接到數(shù)據(jù)庫      MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");        System.out.println("Connect to database successfully");      mongoDatabase.createCollection("test");      System.out.println("集合創(chuàng)建成功");              }catch(Exception e){        System.err.println( e.getClass().getName() + ": " + e.getMessage() );     }   }}

編譯運(yùn)行以上程序,輸出結(jié)果如下:

Connect to database successfully集合創(chuàng)建成功

獲取集合

我們可以使用com.mongodb.client.MongoDatabase類的 getCollection() 方法來獲取一個(gè)集合

代碼片段如下:

import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{   public static void main( String args[] ){      try{          // 連接到 mongodb 服務(wù)         MongoClient mongoClient = new MongoClient( "localhost" , 27017 );                // 連接到數(shù)據(jù)庫         MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");         System.out.println("Connect to database successfully");             MongoCollection<Document> collection = mongoDatabase.getCollection("test");       System.out.println("集合 test 選擇成功");      }catch(Exception e){        System.err.println( e.getClass().getName() + ": " + e.getMessage() );     }   }}

編譯運(yùn)行以上程序,輸出結(jié)果如下:

Connect to database successfully集合 test 選擇成功

插入文檔

我們可以使用com.mongodb.client.MongoCollection類的 insertMany() 方法來插入一個(gè)文檔

代碼片段如下:

import java.util.ArrayList;import java.util.List;import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{   public static void main( String args[] ){      try{            // 連接到 mongodb 服務(wù)         MongoClient mongoClient = new MongoClient( "localhost" , 27017 );                  // 連接到數(shù)據(jù)庫         MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");           System.out.println("Connect to database successfully");                  MongoCollection<Document> collection = mongoDatabase.getCollection("test");         System.out.println("集合 test 選擇成功");         //插入文檔           /**          * 1. 創(chuàng)建文檔 org.bson.Document 參數(shù)為key-value的格式          * 2. 創(chuàng)建文檔集合List<Document>          * 3. 將文檔集合插入數(shù)據(jù)庫集合中 mongoCollection.insertMany(List<Document>) 插入單個(gè)文檔可以用 mongoCollection.insertOne(Document)          * */         Document document = new Document("title", "MongoDB").           append("description", "database").           append("likes", 100).           append("by", "Fly");           List<Document> documents = new ArrayList<Document>();           documents.add(document);           collection.insertMany(documents);           System.out.println("文檔插入成功");        }catch(Exception e){         System.err.println( e.getClass().getName() + ": " + e.getMessage() );      }   }}

編譯運(yùn)行以上程序,輸出結(jié)果如下:

Connect to database successfully集合 test 選擇成功文檔插入成功

檢索所有文檔

我們可以使用 com.mongodb.client.MongoCollection 類中的 find() 方法來獲取集合中的所有文檔。

此方法返回一個(gè)游標(biāo),所以你需要遍歷這個(gè)游標(biāo)。

代碼片段如下:

import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;public class MongoDBJDBC{   public static void main( String args[] ){      try{            // 連接到 mongodb 服務(wù)         MongoClient mongoClient = new MongoClient( "localhost" , 27017 );                  // 連接到數(shù)據(jù)庫         MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");           System.out.println("Connect to database successfully");                  MongoCollection<Document> collection = mongoDatabase.getCollection("test");         System.out.println("集合 test 選擇成功");                  //檢索所有文檔           /**          * 1. 獲取迭代器FindIterable<Document>          * 2. 獲取游標(biāo)MongoCursor<Document>          * 3. 通過游標(biāo)遍歷檢索出的文檔集合          * */           FindIterable<Document> findIterable = collection.find();           MongoCursor<Document> mongoCursor = findIterable.iterator();           while(mongoCursor.hasNext()){              System.out.println(mongoCursor.next());           }              }catch(Exception e){         System.err.println( e.getClass().getName() + ": " + e.getMessage() );      }   }}

編譯運(yùn)行以上程序,輸出結(jié)果如下:

Connect to database successfully集合 test 選擇成功Document{{_id=56e65fb1fd57a86304fe2692, title=MongoDB, description=database, likes=100, by=Fly}}

更新文檔

你可以使用 com.mongodb.client.MongoCollection 類中的 updateMany() 方法來更新集合中的文檔。

代碼片段如下:

import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;import com.mongodb.client.model.Filters;public class MongoDBJDBC{   public static void main( String args[] ){      try{            // 連接到 mongodb 服務(wù)         MongoClient mongoClient = new MongoClient( "localhost" , 27017 );                  // 連接到數(shù)據(jù)庫         MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");           System.out.println("Connect to database successfully");                  MongoCollection<Document> collection = mongoDatabase.getCollection("test");         System.out.println("集合 test 選擇成功");                  //更新文檔   將文檔中l(wèi)ikes=100的文檔修改為likes=200            collection.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));           //檢索查看結(jié)果           FindIterable<Document> findIterable = collection.find();           MongoCursor<Document> mongoCursor = findIterable.iterator();           while(mongoCursor.hasNext()){              System.out.println(mongoCursor.next());           }              }catch(Exception e){         System.err.println( e.getClass().getName() + ": " + e.getMessage() );      }   }}

編譯運(yùn)行以上程序,輸出結(jié)果如下:

Connect to database successfully集合 test 選擇成功Document{{_id=56e65fb1fd57a86304fe2692, title=MongoDB, description=database, likes=200, by=Fly}}

刪除第一個(gè)文檔

要?jiǎng)h除集合中的第一個(gè)文檔,首先你需要使用com.mongodb.DBCollection類中的 findOne()方法來獲取第一個(gè)文檔,然后使用remove 方法刪除。

代碼片段如下:

import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;import com.mongodb.client.model.Filters;public class MongoDBJDBC{   public static void main( String args[] ){      try{            // 連接到 mongodb 服務(wù)         MongoClient mongoClient = new MongoClient( "localhost" , 27017 );         // 連接到數(shù)據(jù)庫         MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");           System.out.println("Connect to database successfully");         MongoCollection<Document> collection = mongoDatabase.getCollection("test");         System.out.println("集合 test 選擇成功");         //刪除符合條件的第一個(gè)文檔           collection.deleteOne(Filters.eq("likes", 200));           //刪除所有符合條件的文檔           collection.deleteMany (Filters.eq("likes", 200));           //檢索查看結(jié)果           FindIterable<Document> findIterable = collection.find();           MongoCursor<Document> mongoCursor = findIterable.iterator();           while(mongoCursor.hasNext()){             System.out.println(mongoCursor.next());           }                   }catch(Exception e){        System.err.println( e.getClass().getName() + ": " + e.getMessage() );     }   }}

編譯運(yùn)行以上程序,輸出結(jié)果如下:

Connect to database successfully集合 test 選擇成功

更多操作可以參考:http://mongodb.github.io/mongo-java-driver/3.0/driver/getting-started/quick-tour/

參考文檔:http://blog.csdn.net/ererfei/article/details/50857103


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
精品日韩视频| 国产91久久久久蜜臀青青天草二| 欧洲精品在线视频| 日韩av一区在线| 欧美三级日韩在线| 日韩精品a在线观看91| 精品在线观看一区| www在线播放| 天天综合天天综合| 欧美三级在线播放| 日韩av在线中文字幕| 国产高潮久久久| 日韩欧美在线字幕| 亚洲成av人片一区二区密柚| 亚洲a级在线播放观看| 亚洲欧美中文在线视频| 在线中文字幕视频| 国产www.大片在线| 伊人永久在线| wwwwww国产| 国产一级在线免费观看| 欧美亚洲国产免费| 成人无遮挡免费网站视频在线观看 | 欧美日韩夫妻久久| 日韩精品中文在线观看| 亚洲深夜福利| 亚洲狠狠婷婷综合久久久久图片| 欧美一级一级性生活免费录像| 中文字幕狠狠干| 黄色一区二区视频| 日韩美女视频一区二区在线观看| 深夜福利一区| 日本精品福利视频| 亚洲二区自拍| 91精品国产自产观看在线| 韩日中文字幕第一页| 精品亚洲综合| 亚洲娇小xxxx欧美娇小| 亚洲一区在线视频观看| 亚洲一区视频在线观看视频| 国产wwww| 欧美日韩尤物久久| 欧美日韩一二三| 在线视频一区二区三区在线播放| 国产一级片在线| 欧美高清一级片在线| 欧美日韩综合视频网址| 欧美日韩精品在线 | 久久精品在线免费观看| 欧美日韩国产91| 日韩精品在线观看视频| 日韩在线欧美| 国产日韩中文字幕| 亚洲成人7777| 中文字幕亚洲高清| 色综合天天综合网天天狠天天| 亚洲va久久久噜噜噜久久| 91精品国产自产91精品| 中文亚洲免费| 日韩精品在线观看视频| 久久香蕉av| 91av久久久| 亚洲综合欧美在线| 精品国产99| 欧美中文字幕视频在线观看| 中文字幕不卡三区| 在线国产91| 中文字幕乱码在线| 国产小视频在线观看免费| 中文字幕欧美人妻精品一区蜜臀| 国产精久久久久| 在线不卡日本| 91精品国产综合久久久蜜臀粉嫩 | 国产视频一区三区| 在线视频色在线| 国产偷久久久精品专区| 久久久水蜜桃| 欧美日韩不卡在线视频| 国产午夜精品视频免费不卡69堂 | 日韩一级中文字幕| av午夜在线| 国产欧美日韩精品高清二区综合区 | 日韩视频第二页| 日韩在线一区二区视频| 欧美 日韩 中文字幕| 日韩三级视频在线播放| 日本亚洲视频在线| 欧美亚洲国产日韩| 中文字幕日韩精品在线| a在线观看免费视频| 国产香蕉精品视频| 亚洲成人7777| 快she精品国产999| 在线免费91| 日韩视频精品在线| 色猫猫国产区一区二在线视频| 欧美日韩性视频一区二区三区| 在线国产一级| 丰满少妇一区| 国产蜜臀在线| 欧美日韩精品在线| 精品久久蜜桃| 亚洲欧洲日韩在线| 中文字幕99| 中文字幕在线导航| 一区在线播放视频| 亚洲第一视频| 欧美日韩在线播放视频| 精品免费视频| 欧美啪啪一区| 欧美日韩激情在线一区二区三区 | 国产一二三四| 精品视频1区2区3区| 色综合久久88色综合天天免费| 日韩精品乱码av一区二区| 九九在线精品| 亚洲黄色片在线观看| 国产福利在线播放| 国产一区激情在线| 日韩欧美亚洲国产一区| 国产自产视频| 欧美日韩在线播放视频| 1024国产在线| 99精品999| 日韩黄色在线播放| 日韩欧美中文第一页| 影音先锋中文字幕在线观看| 国产黄在线播放| 在线视频不卡国产V| 日韩精品综合在线| 日韩视频在线免费播放| 亚洲3区在线| 影音先锋中文字幕在线观看| 在线日韩中文字幕| 国产黄色在线观看| 欧美日韩人人澡狠狠躁视频| 中文字幕在线观看国产| 久久精品www| 中文字幕第一页在线| 日韩三级一区| 日韩在线观看精品| 日韩中文欧美在线| 日韩欧美在线影院| 欧美日韩精品免费看| 久久99精品久久久久婷婷| 欧美日韩高清在线一区| 一二三区精品福利视频| 久久91精品久久久久久秒播| 日韩精品免费观看视频| 欧美日韩一二三四| 国产无套粉嫩白浆在线2022年 | 国产黄色在线观看| 日韩中文字幕在线播放| 国产最新在线| 久久久精品网| 国产在成人精品线拍偷自揄拍| 91精品国产入口| 国产日韩在线亚洲字幕中文| 日韩在线视频一区二区三区| 中文字幕国产欧美| 久久韩国免费视频| 99久久久精品免费观看国产| 日韩精品视频网站| 久久精品久久久久| 福利在线国产| 日韩欧美视频一区二区三区四区| 一区二区三区在线|网站| 欧美三级精品| 欧美亚洲天堂网| 欧美99久久| 不卡福利视频| 日韩三级在线播放| 伊人网站在线| 国产真实乱子伦精品视频| 黄色国产网站在线播放| 欧美日韩激情在线一区二区三区| 中文字幕一区不卡| www高清在线视频日韩欧美| 国产精品福利视频一区二区三区| 亚洲综合在线中文字幕| 亚洲男人在线| 你懂的亚洲视频| 在线国产1区| 国产xxx在线| 99久久婷婷| 99在线精品视频免费观看20| 91精品无人成人www| 欧美亚洲专区| 国产黄在线看| 国产激情在线| 国产男女av| 精人妻一区二区三区| 视频一区二区不卡| 亚洲素人一区二区| 欧美一级日韩不卡播放免费| 国产欧美日韩不卡| 国产成人精品999| 欧美大片在线观看一区| 精品国产99| 国产成人综合av| www.久久草| 国产一级在线免费观看| 中文字幕亚洲区| 久久久久久欧美| 国产一区 二区 三区一级| 日韩欧美一级在线| 高清不卡一区二区| 精品国产乱码久久久久久蜜臀| 日韩欧美在线字幕| 久久91精品国产91久久小草| 亚洲a级在线播放观看| 一区二区三区在线播| 一区在线播放视频| 欧美日韩在线观看首页| 亚洲乱码中文字幕| 不卡中文一二三区| 黄色欧美日韩| 精品一二三四区| 中文字幕在线导航| 国产黄色在线| 91精品在线看V| 国产欧美综合在线观看第十页| 欧美日韩亚洲91| 日韩三级视频中文字幕| 久久精品在线免费观看| 中文字幕日韩在线观看| 欧美三级免费观看| 婷婷精品进入| 亚洲免费视频一区| 久久99蜜桃精品| 国产一区二中文字幕在线看| 中文字幕日韩在线视频| 欧美 日韩 国产 在线| 久久久久久欧美| 91精品在线观看国产| 欧美日韩亚洲一| 91欧美日韩在线| 91久久精品国产91性色69| 五月天久久比比资源色| 国内精品不卡| 日韩欧美亚洲国产一区| 91精品国产自产在线丝袜啪| 国产欧美日韩在线播放| 欧美中文字幕在线| 1024国产在线| 日韩三区免费| 99久热re在线精彩视频| 久草视频观看| 国产婷婷精品| 精品在线网站观看| 色综合天天性综合| 91精品在线国产| 国产99亚洲| 国产在线观看色| 欧美三级在线看| 欧美 日韩 国产在线观看| 国产激情久久久| 欧美日韩精品免费在线观看视频| 中文字幕高清在线播放| 国产亚洲欧美色| 欧美日韩在线视频首页| 国产黄色在线看| 日韩欧美国产一二三区| www.91香蕉视频| 国产欧美久久久精品影院| 欧美国产中文| 亚洲a中文字幕| 日韩视频 中文字幕| 欧美日韩高清在线| 精品999视频| 欧美日韩亚洲综合| av丝袜在线| 亚洲第一精品在线| 伊人伊成久久人综合网小说| 欧美亚洲另类制服自拍| 国自产拍在线网站网址视频| 国产欧美中文在线| 亚洲成年人影院在线| 日韩 欧美 中文| 中文字幕日韩高清| 欧美日韩精品免费看| 午夜国产在线视频| 日韩精品在线网站| 最新中文字幕在线| 日韩精品一级| 欧美日韩在线播放一区| 日韩欧美在线综合网| 成年人黄国产| 国产在线精品日韩| 欧美日韩在线观看成人| 日韩一级二级三级精品视频| 精品成a人在线观看| 国产嫩草影院久久久久| 国内精品露脸在线视频播放| 欧美日韩在线不卡| 日韩三级视频中文字幕| 国产在线观看a| 91精品国产调教在线观看| 国产欧美亚洲一区| 中文字幕精品视频| 欧美日韩在线精品成人综合网| 国产中文在线视频| 国产三级视频在线| 国产欧美日韩91| 国产欧美日韩视频| 久久久99久久| 午夜一区二区三区| 国产网站欧美日韩免费精品在线观看| 在线观看免费国产小视频| 欧美中文字幕精品| 最新日韩中文字幕| 欧美日韩国产中字 | 国产小视频免费在线观看| 最近中文字幕在线中文视频| 99久热re在线精彩视频| 国产欧美中文在线| 国产99对白在线播放| 日韩精品久久久| 亚洲欧美小说国产图片| 高清1区2区| 日本精品二区| 91久久精品视频| 在线视频国产三级| 日韩欧美亚洲视频| 久久婷婷中文字幕| 国产欧美日韩视频在线| 国产高清精品二区| 久久久91精品| 精品日韩欧美| 国产欧美日产一区| 精品视频www| xxxcom在线观看| 国产日韩专区| 日韩欧美综合视频| 国产欧美久久久精品影院| 欧美日韩亚洲视频| av手机天堂| 精品在线一区二区三区| 国产在线二区| 日本黄色一区二区三区| 欧美一卡2卡3卡4卡| 国产 欧美 在线| 精品福利一区二区三区| 综合图区亚洲白拍在线 | 国产99精品| 日韩精品大片| 伊人www22综合色| 欧美国产一级片| 久久69成人| 一区免费在线| 日韩精品在线中文字幕| 一区二区不卡在线播放| 国产免费久久久| 国产视频一区三区| va中文字幕| 精品久久九九| 日本亚洲视频在线| 在线看的av| 久久99精品久久久久子伦| 午夜av一区二区| 日韩不卡高清视频| 三级网站免费观看| 亚洲精品欧美二区三区中文字幕 | 亚洲a中文字幕| 区日韩二区欧美三区| 欧美日韩国产一区在线| 日韩精品视频免费在线观看| www.久久久精品| 国产一区深夜福利| 欧美日韩在线观看成人| 日韩在线中文字幕| 亚洲视频一二三四| 精人妻一区二区三区| 日韩.欧美.亚洲| 日韩欧美在线第一页| 中文字幕在线观看播放| 另类专区欧美| 亚洲一卡二卡在线观看| av免费观看网站| 日韩中文欧美| 91国内在线| 欧美一级日韩不卡播放免费| 精品播放一区二区| 日韩视频专区| 中文字幕第一页在线播放| 国产在线黄色| 精品国产99久久久久久 | 在线欧美一级视频| 日韩av一区二区在线| 中文字幕在线视频第一页| 欧美一级久久久久久久久大| 国产综合成人久久大片91| 日韩区欧美区| 日本视频久久久| 亚洲综合三区| 欧美日韩午夜在线| 午夜私人影院在线观看| 国产日韩免费| 日韩中文字幕综合| 婷婷中文字幕在线观看|