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());
}
}
}