国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 開發(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ū)動。

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

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

首先你必須下載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會自動創(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ū)動的路徑。

本實(shí)例將 MongoDB JDBC 啟動包 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è)文檔

要刪除集合中的第一個(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ā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
中文在线观看视频| √天堂中文在线| 日本韩国精品一区二区| 天天干天天摸| 中文字幕在线免费视频| 午夜小视频在线| 九九视频九九热| 亚洲精品一区中文字幕电影| 国产免费av高清在线| 青草青在线视频| 国产麻豆精品入口在线观看| 人人干人人插| 日本免费视频www| 精品女厕厕露p撒尿| 欧美日韩在线资源| 在线国产中文字幕| 国产精品久久久久久久久鸭| 国产精品亚洲色图| 蜜桃视频中文字幕| √天堂资源地址在线官网| 国产黄色大片在线观看| 九九视频九九热| 国产在线精品一区二区不卡| 欧美日韩亚洲第一页| 日本高清中文字幕在线| 四虎影院成人| www在线视频| 亚洲精品乱码电影在线观看| 伊人免费在线| 亚洲欧美精选| 午夜在线不卡| 免费a在线观看| 丁香婷婷在线观看| 亚洲第一页在线播放| 一本大道久久a久久精品| 永久免费在线观看| 麻豆国产视频| 国产九九九九| 国产人成高清视频观看| 国产网站观看9久| 国产极品视频| 中文字幕第一页av| 国产麻豆麻豆| 午夜视频在线免费| 中中文字幕av在线| 国产写真视频在线观看| 天堂资源在线中文| 2018av男人天堂| 五月综合网站| 国产黄色片在线观看| 国产成人天天5g影院| 国产videos| 四虎一区二区三区| 精品资源在线看| 中文字幕国产视频| 国产成+人+亚洲+欧美+综合| 精品麻豆一区二区三区| 日本调教视频在线观看| 狠狠色丁香婷婷| 国产三线在线| eeuss影院在线| 懂色av一区| 99reav在线| 久热精品免费视频| 国产亚洲精品久久久久久青梅 | 中文字幕在线免费观看| 国产尤物视频| 中文在线视频| 国产一区二区影视| 精品亚洲成a人片在线观看| baoyu777.永久免费视频| 日本高清中文字幕二区在线| 尤物网在线观看| 四虎一区二区三区| 国内精品一区视频| 亚洲一本大道| 国产黄色av免费看| 五月婷婷丁香激情| 欧美啪啪精品| www.eeuss影院| 精品日韩av| 国产深夜福利| 国产卡1卡2卡三卡在线| 免费看的毛片| 亚洲欧洲成人| 18av在线播放| 午夜视频在线免费| 欧美日韩一区二区三区视视频 | 国产一二三区在线观看| 免费国产在线视频| www在线观看播放免费视频日本| 国产福利视频在线观看| 天天操人人干| 88av在线| 国产精品一区在线看| 亚洲综合色视频在线观看| 国产精品久久久久一区二区国产| 超碰在线网站| 欧美精品另类| 免费三级毛片| av在线免费播放网站| 精品视频三区| av在线播放av| 欧美日韩在线中文字幕| 在线免费看黄| 亚洲国产日韩成人综合天堂| 中文av在线播放| 影音先锋在线中文字幕| 伊人影院蕉久影院在线播放| 中文字幕4区| h视频在线网站| 久久精品无码一区二区日韩av| 欧美黑人乱大交ⅹxxxxx| 六月天色婷婷| 国产精品人人| 国产一区二区三区美女秒播| 国产性色视频| 亚洲免费国产| 福利视频在线导航| 91欧美在线视频| 欧美日韩视频精品一区二区| 尤物视频在线看| 一本免费视频| 五月婷婷开心综合| av手机天堂| 天天操天天曰| 天天激情综合| 国产图片综合| 日本成人网址| 国产精品久久久久永久免费看| 91麻豆精品国产91久久| 操人视频91| 99免费视频| 国产一区久久精品| 欧美日韩**字幕一区| 国产视频二区三区| 久草网在线视频| 亚洲最新永久观看在线| 国产九九九九| а√资源新版在线天堂| 91中文在线| 国产一级黄色| 国产麻豆麻豆| 免费在线观看a| 亚洲综合在线不卡| 国产精品剧情一区二区三区| 激情六月婷婷| 超碰在线网站| 老司机精品视频一区二区| 在线成人一区| 精品国产一区二区三区久久久狼牙 | 国产成人高清精品| 国产麻豆视频网站| а√资源新版在线天堂| 2018狠狠干| 91中文字幕| 亚洲最新永久观看在线| 伊人网在线视频| 影音先锋日韩| 尤物视频在线观看视频| 精品国产免费第一区二区| 国产黄色在线播放| 国产寡妇树林野战在线播放| 中文字幕在线免费视频| 午夜视频免费在线观看| 最近中文字幕mv免费高清视频8| 黄色国产网站在线播放| 精品资源在线看| 国产美女在线一区二区三区| 国产精品综合久久久久| 中文字幕在线观看播放| 天天av天天爱| 中文乱码字幕av网站| 亚洲久草视频| 免费观看久久久久| 国产精品自产拍在线网站| 中文字幕网在线| 国产成a人亚洲精v品| 日本黄色免费网址| 国产卡一卡二卡三| 国产三级做爰在线观看| 一本大道久久精品| 国产乱视频在线观看播放| 国产精品视频二区三区| 中文av在线播放| 国产麻豆精品视频一区二区 | 青青草在线视频免费观看| 国产女人在线观看| 中文字幕av在线| 中文字幕中文字幕在线中高清免费版| 国产精品毛片一区二区三区四区| 亚洲精品在线播放视频| 中文字幕在线视频不卡| 国产爆初菊在线观看免费视频网站| 中文字幕2019第三页| 国产无遮挡又黄又爽免费软件| www免费在线观看| 91网页在线观看| 国产日韩欧美精品一区二区三区| 亚洲国产精华液|