qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

          淺談如何用Java操作MongoDB?

           NoSQL數(shù)據(jù)庫(kù)因其可擴(kuò)展性使其變得越來(lái)越流行,利用NoSQL數(shù)據(jù)庫(kù)可以給你帶來(lái)更多的好處,MongoDB是一個(gè)用C++編寫的可度可擴(kuò)展性的開(kāi)源NoSQL數(shù)據(jù)庫(kù)。本文主要講述如何使用Java操作MongoDB以及了解MongoDB如何進(jìn)行日常的數(shù)據(jù)庫(kù)操作。

            文章內(nèi)容如下:

            第一步:安裝MongoDB

            無(wú)需太多的繁雜步驟,你只要在MongoDB官方網(wǎng)站查看安裝說(shuō)明,根據(jù)自己的操作系統(tǒng)進(jìn)行選擇適應(yīng)的版本即可。

            第二步:?jiǎn)?dòng)MongoDB服務(wù)器

            這一步也很簡(jiǎn)單。運(yùn)行mongod.exe文件里的bin文件夾(我使用的是Windows OS系統(tǒng)),并啟動(dòng)MongoDB服務(wù)器。

            在默認(rèn)的情況下服務(wù)器將啟動(dòng)端口27017,你需要在安裝過(guò)程中創(chuàng)建將數(shù)據(jù)存儲(chǔ)在/data/db目錄里。

            第三步:?jiǎn)?dòng)MongoDB shell指令

            你可以通過(guò)運(yùn)行mongo.exe文件來(lái)啟動(dòng)MongoBD shell。

            第四步:利用MongoDB創(chuàng)建數(shù)據(jù)庫(kù)

            利用MongoDB在MongoDB shell中輸入以下內(nèi)容建立一個(gè)名為“company”的數(shù)據(jù)庫(kù)。

          use company

            記住,除非你在MangoDB里保存了一些東西,否則它不會(huì)自動(dòng)為你保存。

            使用下面的命令幫你查看可用的數(shù)據(jù)庫(kù),它會(huì)顯示“company”尚未被創(chuàng)建。

          show dbs;

            第五步:在MongoDB中保存數(shù)據(jù)

            使用下面的命令來(lái)保存employee 數(shù)據(jù)代表一個(gè)collection,將其命名為employees

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

            通過(guò)使用下面的命令來(lái)查看collection里的數(shù)據(jù)。

          db.users.find();


            如何使用Java操作MongoDB?

            下面是是一段簡(jiǎn)單的Java代碼,你可以在這里獲得mongo-java驅(qū)動(dòng)。很簡(jiǎn)單,只需要使用下面的代碼,重復(fù)上面的操作即可。

          1. package com.eviac.blog.mongo;    
          2.     
          3. import java.net.UnknownHostException;    
          4.     
          5. import com.mongodb.BasicDBObject;    
          6. import com.mongodb.DB;    
          7. import com.mongodb.DBCollection;    
          8. import com.mongodb.DBCursor;    
          9. import com.mongodb.Mongo;    
          10. import com.mongodb.MongoException;    
          11.     
          12. public class MongoDBClient {    
          13.     
          14.  public static void main(String[] args) {    
          15.     
          16.   try {    
          17.     
          18.    Mongo mongo = new Mongo("localhost", 27017);    
          19.     
          20.    DB db = mongo.getDB("company");    
          21.     
          22.    DBCollection collection = db.getCollection("employees");    
          23.     
          24.    BasicDBObject employee = new BasicDBObject();    
          25.    employee.put("name", "Hannah");    
          26.    employee.put("no", 2);    
          27.     
          28.    collection.insert(employee);    
          29.     
          30.    BasicDBObject searchEmployee = new BasicDBObject();    
          31.    searchEmployee.put("no", 2);    
          32.     
          33.    DBCursor cursor = collection.find(searchEmployee);    
          34.     
          35.    while (cursor.hasNext()) {    
          36.     System.out.println(cursor.next());    
          37.    }    
          38.     
          39.    System.out.println("The Search Query has Executed!");    
          40.     
          41.   } catch (UnknownHostException e) {    
          42.    e.printStackTrace();    
          43.   } catch (MongoException e) {    
          44.    e.printStackTrace();    
          45.   }    
          46.     
          47.  }    
          48.     
          49. }

            結(jié)果如下:

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

            小結(jié):

            隨著互聯(lián)網(wǎng)Web2.0網(wǎng)站的興起,非關(guān)系型的數(shù)據(jù)庫(kù)現(xiàn)在成了一個(gè)極其熱門的新領(lǐng)域,非關(guān)系數(shù)據(jù)庫(kù)產(chǎn)品的發(fā)展也非常迅速。本文淺顯的談及了如何使用Java操作MongoDB以及了解MongoDB如何進(jìn)行日常的數(shù)據(jù)庫(kù)操作的問(wèn)題。如果您是這方面的專家不妨與我們分享下。





          posted on 2012-07-06 09:44 順其自然EVO 閱讀(232) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)

          <2012年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 改则县| 锡林郭勒盟| 徐水县| 宜阳县| 正阳县| 泾阳县| 都昌县| 那坡县| 湘西| 阳朔县| 吉林市| 汶上县| 即墨市| 三台县| 岚皋县| 昭通市| 资阳市| 浦北县| 乐安县| 武平县| 宁陵县| 安义县| 隆林| 扎囊县| 原阳县| 武隆县| 来宾市| 义乌市| 华池县| 蕉岭县| 江源县| 丹江口市| 张家口市| 潮安县| 石渠县| 崇信县| 杭州市| 天柱县| 定日县| 巴塘县| 定结县|