Java 程序訪問 MongoDB 數據庫基礎教程

jopen 12年前發布 | 69K 次閱讀 MongoDB NoSQL數據庫

NoSQL 數據庫因為其良好的可伸縮性日益受關注,如果使用得當的話,NoSQL 可以帶來很大的提升。而 MongoDB 就是一個用 C++ 開發的開源的高可伸縮性的 NoSQL 數據庫。

本文將介紹如何在 Java 程序中使用 MongoDB 數據庫(Windows平臺)。

1. 安裝 MongoDB

安裝非常簡單,你可以從 MongoDB 官方的文檔中來獲取幫助,包括 Windows、Linux 和 OS X 系統:http://www.mongodb.org/display/DOCS/Quickstart

2. 啟動 MongoDB 服務器

安裝完畢后只需要運行 bin 目錄下的 mongod.exe 即可啟動。MongoDB 服務器默認運行的端口是 27017,而數據存放于 /data/db 目錄,該目錄必須在安裝時候創建好。

3. 啟動 MongoDB 交互式命令行

運行 mongo.exe 程序即可啟動 MongoDB 交互式命令行環境。

4. 創建一個 MongoDB 數據庫

假設我們要創建一個名為 company 的數據庫,只需要在 MongoDB 命令行環境中運行:

use company

記住,MongoDB 在你插入任何數據之前并不會創建數據庫。

你可以使用下面命令來查看系統中已有的數據庫,你會發現你剛創建的 company 并不在其中。

show dbs;

5. 插入數據

我們可以通過下面命令在 company 數據庫中創建集合(相當于SQL數據庫中的表),名為 employees

employee = {name : "A", no : 1}   
db.employees.save(employee) 

要查看集合中的數據可以使用如下命令:

db.users.find(); 

6. 編寫 Java 程序訪問 MongoDB

下面是一個簡單的 Java 程序用來連接到我們剛創建的數據庫并插入數據,然后進行查詢。在此之前你需要下載 MongoDB 的 Java 驅動包:MongoDB Java Driver

代碼如下:

package com.eviac.blog.mongo;

import java.net.UnknownHostException;

import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.Mongo; import com.mongodb.MongoException;

public class MongoDBClient {

public static void main(String[] args) {

try {

Mongo mongo = new Mongo("localhost", 27017);

DB db = mongo.getDB("company");

DBCollection collection = db.getCollection("employees");

BasicDBObject employee = new BasicDBObject(); employee.put("name", "Hannah"); employee.put("no", 2);

collection.insert(employee);

BasicDBObject searchEmployee = new BasicDBObject(); searchEmployee.put("no", 2);

DBCursor cursor = collection.find(searchEmployee);

while (cursor.hasNext()) { System.out.println(cursor.next()); }

System.out.println("The Search Query has Executed!");

} catch (UnknownHostException e) { e.printStackTrace(); } catch (MongoException e) { e.printStackTrace(); }

} }</pre>

運行結果:

{ "_id" : { "$oid" : "4fec74dc907cbe9445fd2d70"} , "name" : "Hannah" , "no" : 2}  
The Search Query has Executed!

英文原文, OSCHINA原創翻譯

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!