黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

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

更新時(shí)間:2022-09-27 10:46:40 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1403次

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

1.下載Mongo Java驅(qū)動(dòng)

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

Mongo Java 驅(qū)動(dòng)程序的在線 API 文檔可以在這里找到。

2. 使用 MongoClient 連接 MongoDB

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

創(chuàng)建一個(gè)MongoClient實(shí)例,該實(shí)例連接到在 localhost 和默認(rèn)端口上運(yùn)行的默認(rèn) MongoDB 服務(wù)器:

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

連接到在默認(rèn)端口 (27017) 上偵聽(tīng)的命名 MongoDB 服務(wù)器:

<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>

連接到在特定端口上偵聽(tīng)的命名 MongoDB 服務(wù)器:

<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>

連接到服務(wù)器副本集:

<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ù)庫(kù)并進(jìn)行認(rèn)證(如果服務(wù)器運(yùn)行在安全模式下),例如:

<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)過(guò)身份驗(yàn)證){</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("無(wú)效的用戶名/密碼");</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
}</font></font>

默認(rèn)情況下,MongoDB 服務(wù)器在不需要身份驗(yàn)證的信任模式下運(yùn)行。

我們來(lái)看一個(gè)完整的程序:

<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;">
導(dǎo)入 java.net.UnknownHostException;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
導(dǎo)入 java.util.List;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
導(dǎo)入 java.util.Set;</font></font><font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
導(dǎo)入com.mongodb.DB;</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
導(dǎo)入 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)無(wú)效主要(字符串[]參數(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>
}

這個(gè) Java 程序連接到在默認(rèn)端口上運(yùn)行在 localhost 上的 MongoDB 服務(wù)器,然后列出服務(wù)器上所有可用的數(shù)據(jù)庫(kù)名稱。對(duì)于每個(gè)數(shù)據(jù)庫(kù),它會(huì)列出所有的集合名稱(一個(gè)集合相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)中的一個(gè)表),最后關(guān)閉連接。該程序?qū)a(chǎn)生以下輸出:

3.使用MongoDB連接字符串URI

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

<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 的語(yǔ)法如下:

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

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

在默認(rèn)端口連接到在 localhost 上運(yùn)行的 MongoDB 服務(wù)器:

mongodb://localhost

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

mongodb://root:secret@db1.server.com:27027

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

mongodb://db2.server.com/users

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

mongodb://tom:secret@db3.server.com:27027/products

連接到三個(gè)服務(wù)器的副本集:

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

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

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 男女午夜性爽快免费视频不卡 | 欧美另类日韩中文色综合 | 日本特级黄色 | 国产色婷婷免费视频 | 在线观看亚洲天堂 | 九九操视频 | 97精品国产91久久久久久 | 波多野结衣中文字幕在线 | 星空影院免费观看韩国三集 | 日本a在线视频 | 视频一区 欧美 | 草草在线免费视频 | 一级毛片免费视频观看 | 日韩免费一区二区三区在线 | 色费女人18女人毛片免费视频 | 久久狠狠干 | 国产午夜不卡 | 波多野结衣成人 | 香蕉综合视频 | 毛片在线看免费版 | 久久艹精品 | 我想看一级毛片免费的 | 一级片aaaaaa | 在线观看深夜观看网站免费 | 久久香蕉国产线看观看亚洲片 | 亚洲在成人网在线看 | 欧美1区| yiren22亚洲综合高清一区 | 成视频年人黄网站免费视频 | 天天天夜夜夜夜夜 | 免费一级黄色片 | 特级全黄一级毛片视频 | 亚洲成人毛片 | a级毛片黄片 | 亚洲免费一 | 国产精品视频一区二区三区不卡 | 老师影院 | 久久国产成人精品国产成人亚洲 | 亚洲精品午夜国产va久久成人 | 欧美香蕉视频 | 久久99精品久久久久久欧洲站 |