MongoDB系列教程(六):java操作mongodb实例
java操作mysql数据库的代码我们已经了如指掌了,增删改查,java对mongodb数据库也是类似的操作,先是数据库连接,再是进行操作。
首先我们进入进入admin数据库,然后建立自己的数据库testMongoDb,进入admin数据库后,就可以直接进入testMongoDb,因为用户可以进入系统的数据库,就是超级管理员,usetestMongoDb后,为该数据库设置用户名和密码,db.addUser('root','root'),这样我们在程序中连该数据库,并实现增删改查,代码如下所示。
代码如下所示:
packagecom.mkyong.core;
importjava.net.UnknownHostException;
importjava.util.Date;
importcom.mongodb.BasicDBObject;
importcom.mongodb.DB;
importcom.mongodb.DBCollection;
importcom.mongodb.DBCursor;
importcom.mongodb.Mongo;
importcom.mongodb.MongoException;
/**
*Java+MongoDBHelloworldExample
*
*/
publicclassApp{
publicstaticvoidmain(String[]args){
try{
/****ConnecttoMongoDB****/
//Since2.10.0,usesMongoClient
//MongoClientmongo=newMongoClient("localhost",27017);
Mongomongo=newMongo("127.0.0.1",27017);
/****Getdatabase****/
//ifdatabasedoesn'texists,MongoDBwillcreateitforyou
DBdb=mongo.getDB("testMongoDb");
//databaseusername root andpasswordroot
booleanok=db.authenticate("root","root".toCharArray());
if(ok){
System.out.println("dbconnectionsuccess!");
}{
System.out.println("dbconnectionfail!");
}
/****Getcollection/tablefrom'testMongoDb'****/
//ifcollectiondoesn'texists,MongoDBwillcreateitforyou
DBCollectiontable=db.getCollection("user");
/****Insert****/
//createadocumenttostorekeyandvalue
BasicDBObjectdocument=newBasicDBObject();
document.put("name","mkyong");
document.put("age",30);
document.put("createdDate",newDate());
table.insert(document);
/****Findanddisplay****/
BasicDBObjectsearchQuery=newBasicDBObject();
searchQuery.put("name","mkyong");
DBCursorcursor=table.find(searchQuery);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
/****Update****/
//searchdocumentwherename="mkyong"andupdateitwithnewvalues
BasicDBObjectquery=newBasicDBObject();
query.put("name","mkyong");
BasicDBObjectnewDocument=newBasicDBObject();
newDocument.put("name","mkyong-updated");
BasicDBObjectupdateObj=newBasicDBObject();
updateObj.put("$set",newDocument);
table.update(query,updateObj);
/****Findanddisplay****/
BasicDBObjectsearchQuery2
=newBasicDBObject().append("name","mkyong-updated");
DBCursorcursor2=table.find(searchQuery2);
while(cursor2.hasNext()){
System.out.println(cursor2.next());
}
/****Done****/
System.out.println("Done");
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(MongoExceptione){
e.printStackTrace();
}
}
}
控制台输入结果如下:
dbconnectionsuccess!
dbconnectionfail!
{"_id":{"$oid":"544073c4d58dfa6e469555ba"},"name":"mkyong","age":30,"createdDate":{"$date":"2014-10-17T01:41:24.479Z"}}
{"_id":{"$oid":"543e154bd58d704982fd38f0"},"name":"mkyong-updated","age":30,"createdDate":{"$date":"2014-10-15T06:33:47.321Z"}}
{"_id":{"$oid":"5440719dd58d08a207605c8e"},"name":"mkyong-updated","age":30,"createdDate":{"$date":"2014-10-17T01:32:13.922Z"}}
{"_id":{"$oid":"544073c4d58dfa6e469555ba"},"name":"mkyong-updated","age":30,"createdDate":{"$date":"2014-10-17T01:41:24.479Z"}}
Done
源码下载:http://xiazai.jb51.net/201503/other/mongodb_helloworld.zip