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