大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java連接mongodb數(shù)據(jù)庫示例

Java連接mongodb數(shù)據(jù)庫示例

更新時間:2022-09-27 10:46:40 來源:動力節(jié)點 瀏覽1326次

要知道,MongoDB 是領先的 NoSQL 數(shù)據(jù)庫系統(tǒng),由于其動態(tài)模式特性以及相對于大數(shù)據(jù)的高性能、水平可擴展性、復制等優(yōu)勢,近年來變得非常流行。與提供 JDBC 兼容的傳統(tǒng)關系數(shù)據(jù)庫系統(tǒng)不同驅動程序,MongoDB 帶有自己的非 JDBC 驅動程序,稱為 Mongo Java 驅動程序。這意味著我們不能使用 JDBC API 從 Java 與 MongoDB 進行交互。相反,我們必須使用它自己的 Mongo Java Driver API。

1.下載Mongo Java驅動

下載最新版本的 Mongo Java 驅動程序(撰寫本文時為 2.11.1 版)。JAR 文件名為mongo-java-driver-VERSION.jar(大約 400KB)。將下載的 JAR 文件復制到您的類路徑中。

Mongo Java 驅動程序的在線 API 文檔可以在這里找到。

2. 使用 MongoClient 連接 MongoDB

Mongo客戶端類用于與 MongoDB 服務器建立連接并執(zhí)行與數(shù)據(jù)庫相關的操作。這里有些例子:

創(chuàng)建一個MongoClient實例,該實例連接到在 localhost 和默認端口上運行的默認 MongoDB 服務器:

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">MongoClient mongoClient = new MongoClient();</font></font>

連接到在默認端口 (27017) 上偵聽的命名 MongoDB 服務器:

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">MongoClient mongoClient = new MongoClient("localhost");</font></font>

或者:

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">MongoClient mongoClient = new MongoClient("db1.server.com");</font></font>

連接到在特定端口上偵聽的命名 MongoDB 服務器:

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">MongoClient mongoClient = new MongoClient("localhost", 27017);</font></font>

或者:

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">MongoClient mongoClient = new MongoClient("db1.server.com", 27018);</font></font>

連接到服務器副本集:

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">List<ServerAddress> 種子 = new ArrayList<ServerAddress>();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
seed.add(new ServerAddress("db1.server.com", 27017));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
seed.add(new ServerAddress("db2.server.com", 27018));</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
seed.add(new ServerAddress("db3.server.com", 27019));</font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
MongoClient mongoClient = new MongoClient(seeds);</font></font>

建立連接后,我們可以獲取數(shù)據(jù)庫并進行認證(如果服務器運行在安全模式下),例如:

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">MongoClient mongoClient = new MongoClient();</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
DB db = mongoClient.getDB("test");</font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
char[] 密碼 = new char[] {'s', 'e', 'c', 'r', 'e', 't'};</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
boolean authenticated = db.authenticate("root", 密碼);</font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
如果(經(jīng)過身份驗證){</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
    System.out.println("成功登錄MongoDB!");</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
} 別的 {</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
    System.out.println("無效的用戶名/密碼");</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
}</font></font>

默認情況下,MongoDB 服務器在不需要身份驗證的信任模式下運行。

我們來看一個完整的程序:

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">包 net.codejava.mongodb;</font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
導入 java.net.UnknownHostException;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
導入 java.util.List;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
導入 java.util.Set;</font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
導入com.mongodb.DB;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
導入 com.mongodb.MongoClient;</font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
公共類 JavaMongoDBConnection {</font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
    公共靜態(tài)無效主要(字符串[]參數(shù)){</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
        嘗試 {</font></font><font></font>
            <font></font>
            MongoClient mongoClient = new MongoClient("localhost");<font></font>
            <font></font>
            List<String> databases = mongoClient.getDatabaseNames();<font></font>
            <font></font>
            for (String dbName : databases) {<font></font>
                System.out.println("- Database: " + dbName);<font></font>
                <font></font>
                DB db = mongoClient.getDB(dbName);<font></font>
                <font></font>
                Set<String> collections = db.getCollectionNames();<font></font>
                for (String colName : collections) {<font></font>
                    System.out.println("\t + Collection: " + colName);<font></font>
                }<font></font>
            }<font></font>
            <font></font>
            mongoClient.close();<font></font>
            <font></font>
        } catch (UnknownHostException ex) {<font></font>
            ex.printStackTrace();<font></font>
        }<font></font>
        <font></font>
    }<font></font>
}

這個 Java 程序連接到在默認端口上運行在 localhost 上的 MongoDB 服務器,然后列出服務器上所有可用的數(shù)據(jù)庫名稱。對于每個數(shù)據(jù)庫,它會列出所有的集合名稱(一個集合相當于關系數(shù)據(jù)庫中的一個表),最后關閉連接。該程序將產(chǎn)生以下輸出:

3.使用MongoDB連接字符串URI

也可以使用表示數(shù)據(jù)庫連接 URI 的字符串來連接到 MongoDB 服務器,例如:

<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">字符串 dbURI = "mongodb://localhost";</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
MongoClient mongoClient = new MongoClient(new MongoClientURI(dbURI));</font></font>

URI 的語法如下:

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

以下是一些連接字符串 URI 示例:

在默認端口連接到在 localhost 上運行的 MongoDB 服務器:

mongodb://localhost

使用用戶root和密碼secret連接到在端口27027上運行的命名 MongoDB 服務器db1.server.com上的管理數(shù)據(jù)庫:

mongodb://root:[email protected]:27027

連接到服務器db2.server.com上的用戶數(shù)據(jù)庫:

mongodb://db2.server.com/users

使用用戶tom和密碼secret連接到運行在端口27027上的命名 MongoDB 服務器db3.server.com上的產(chǎn)品數(shù)據(jù)庫:

mongodb://tom:[email protected]:27027/products

連接到三個服務器的副本集:

mongodb://db1.server.com,db2.server.com,db3.server.com

以上就是關于“Java連接mongodb數(shù)據(jù)庫示例”介紹,大家如果想了解更多相關知識,不妨來關注一下本站的Java視頻教程,里面的課程內(nèi)容細致全面,通俗易懂,很適合沒有基礎的小伙伴學習,希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产精品亚洲欧美日韩一区在线 | 国产精品亚洲第一区二区三区 | 成人夜色视频在线观看网站 | a毛片在线免费观看 | 日韩国产精品99久久久久久 | 欧美激情xxxx性bbbb | 欧美午夜毛片a级在线 | 色老头久久网 | 天天天天天天操 | 精品在线免费观看视频 | 免费一级毛片在线视频观看 | 久久亚洲国产伦理 | 自拍 亚洲 欧美 | 亚洲综合色婷婷中文字幕 | 日日摸夜夜爽日日放碰 | 亚洲精品久久久久综合中文字幕 | 久草久操 | 亚洲免费黄色网 | 美女黄频网站 | 亚洲欧美综合国产精品一区 | 精品久久久在线观看 | 日韩欧美亚洲精品 | 欧美级毛片 | 国产午夜精品一二区理论影院 | 国产高清国产专区国产精品 | 在线观看国产精品日本不卡网 | 久久精品国产亚洲婷婷 | 在线亚洲欧洲国产综合444 | 日本久久久久久久中文字幕 | 国产精品午夜久久 | 性大交 | 欧美日韩国产精品va | 日夜操在线视频 | 夜夜嘿视频免费看 | 久草手机在线 | 成人国产激情福利久久精品 | 欧美亚洲精品在线 | 两个人高清视频图片中文字幕 | 国产一区二区三区久久精品 | 国产免费久久 | 色色在线视频 |