浅谈如何用Java操作MongoDB

NoSQL数据库因其可扩展性使其变得越来越流行,利用NoSQL数据库可以给你带来更多的好处,MongoDB是一个用C++编写的可度可扩展性的开源NoSQL数据库。本文主要讲述如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作。

文章内容如下:

第一步:安装MongoDB

无需太多的繁杂步骤,你只要在MongoDB官方网站查看安装说明,根据自己的操作系统进行选择适应的版本即可。

第二步:启动MongoDB服务器

这一步也很简单。运行mongod.exe文件里的bin文件夹(我使用的是Windows OS系统),并启动MongoDB服务器。

在默认的情况下服务器将启动端口27017,你需要在安装过程中创建将数据存储在/data/db目录里。

第三步:启动MongoDB shell指令

你可以通过运行mongo.exe文件来启动MongoBD shell。

第四步:利用MongoDB创建数据库

利用MongoDB在MongoDB shell中输入以下内容建立一个名为“company”的数据库。

  1. use company 

记住,除非你在MangoDB里保存了一些东西,否则它不会自动为你保存。

使用下面的命令帮你查看可用的数据库,它会显示“company”尚未被创建。

  1. show dbs;    

第五步:在MongoDB中保存数据

使用下面的命令来保存employee 数据代表一个collection,将其命名为employees。

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

通过使用下面的命令来查看collection里的数据。

  1. db.users.find();    

 

如何使用Java操作MongoDB?

下面是是一段简单的Java代码,你可以在这里获得mongo-java驱动。很简单,只需要使用下面的代码,重复上面的操作即可。

  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. }   
posted @ 2014-01-29 23:47  @令狐冲  阅读(346)  评论(0编辑  收藏  举报