基于Java的Mongo入门

MongoDB可以说是最流行的分布式文件存储的数据库。今天看到发布2.0正式发布。所以看了看,先写个简单的例子。下次morphia,再完成一个较完整的范例。

1、用到的数据库:mongodb-win32-i386-2.0.0.zip、驱动:、mongo-2.6.5.jar,均可从官方站点下载下来。

2、享用首先得启动服务器:

mongod.exe --dbpath D:/mongodb 制定数据文件存放在D:/mongodb目录下

3、通过浏览器浏览数据:

http://127.0.0.1:28017/

4、范例代码:
package org.penguin.study.mongo;

import java.net.UnknownHostException;

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

public class SimpleMain {
	public static final void main(String[] args) {
		try {
			Mongo mongo = new Mongo("localhost");
			// 如果数据库不存在,系统将自动创建
			DB db = mongo.getDB("simple");
			System.out.println(String.format("已有的数据库有:%s", mongo.getDatabaseNames()));
			// 如果集合不存在,系统将自动创建
			DBCollection dbCollection = db.getCollection("person");
			System.out.println(String.format("已有的集合有:%s", db.getCollectionNames()));
			BasicDBObject zhaojing = new BasicDBObject();
			// 主键,默认的ObjectId由4部分编码而成:当前时间、机器标识、进程号和自增的整数
			zhaojing.put("_id", "10000");
			zhaojing.put("name", "赵静");
			zhaojing.put("age", 34);
			zhaojing.put("work", "优秀的服装设计师");
			// dbCollection.insert():检查是否有字段_id,如果没有这保存,否则忽略
			// dbCollection.save():检查是否有字段_id,如果有则更新,否则插入
			dbCollection.save(zhaojing);
			// dbCollection.find():查询全部
			// dbCollection.findOne():查询一条记录
			// dbCollection.findAndModify():查询并更新
			// dbCollection.remove():删除一条记录
			
			DBCursor dbCursor = dbCollection.find();
			while (dbCursor.hasNext()) {
				// 相当于一条记录
				DBObject dbObject = (DBObject) dbCursor.next();
				System.out.println(String.format("学号:%s、姓名:%s、年龄:%d、职业:%s", dbObject.get("_id"), dbObject.get("name"),
						dbObject.get("age"), dbObject.get("work")));
			}

		} catch (UnknownHostException e) {
			System.err.println(e.getMessage());
		} catch (MongoException e) {
			System.err.println(e.getMessage());
		} catch (Exception e) {
			System.err.println("未知异常:" + e.getMessage());
		}
	}
}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值