Java 程序访问 MongoDB 数据库基础教程
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(); } } }
运行结果:
{ "_id" : { "$oid" : "4fec74dc907cbe9445fd2d70"} , "name" : "Hannah" , "no" : 2} The Search Query has Executed!英文原文, OSCHINA原创翻译