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”的数据库。
记住,除非你在MangoDB里保存了一些东西,否则它不会自动为你保存。
使用下面的命令帮你查看可用的数据库,它会显示“company”尚未被创建。
第五步:在MongoDB中保存数据
使用下面的命令来保存employee 数据代表一个collection,将其命名为employees
employee = {name : "A", no : 1}
db.employees.save(employee) |
通过使用下面的命令来查看collection里的数据。
如何使用Java操作MongoDB?
下面是是一段简单的Java代码,你可以在这里获得mongo-java驱动。很简单,只需要使用下面的代码,重复上面的操作即可。
- 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();
- }
-
- }
-
- }
|
结果如下:
- { "_id" : { "$oid" : "4fec74dc907cbe9445fd2d70"} , "name" : "Hannah" , "no" : 2}
- The Search Query has Executed!
|
小结:
随着互联网Web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展也非常迅速。本文浅显的谈及了如何使用Java操作MongoDB以及了解MongoDB如何进行日常的数据库操作的问题。如果您是这方面的专家不妨与我们分享下。
====================================分割线================================
最新内容请见作者的GitHub页:http://qaseven.github.io/