本來是想寫個Java 操作 MongoDB資料庫增刪查改的Demo的 , 但是最近沒有時間 , 只能簡單地將之前記錄的串連MongoDB的方法貼出來...
等有時間在把完整的增刪查改Demo補全吧....
我本地自己裝了MongoDB資料庫,所以我是在Windos下啟動並執行...
沒有Jar包的...看這裡....
Java 串連 MongoDB Driver Jar包
這些常量..按照自己的實際環境修改吧...如果mongo資料庫沒有設定使用者名稱和密碼,就不用做校正...
private static final String host = "localhost";private static final int port = 27017;private static final String userName = "";private static final String password = "";private static final String dataBaseName = "mongotest";private static final String tableName = "user";
版本一 , 注意看 : 我這裡使用的是 Mongo mongo = new Mongo(host, port); 來串連的...
public void connMongoDB() throws Exception {Mongo mongo = new Mongo(host, port);DB db = mongo.getDB(dataBaseName);if (!StringUtils.isEmpty(userName) || !StringUtils.isEmpty(password)) {db.authenticate(userName, password.toCharArray());}DBCollection dbCollection = db.getCollection(tableName);DBCursor dbCursor = dbCollection.find();while(dbCursor.hasNext()){Map map = (Map)dbCursor.next();System.out.println(map);}}
結果圖:
這個是我的MongoDB資料庫
然後是版本2.
注意看啊...這裡我使用的是 MongoClient mongoClient = new MongoClient(host,port); 串連MongoDB的...
public void connectMongoDB(){try{MongoClient mongoClient = new MongoClient(host,port);DB db = mongoClient.getDB(dataBaseName);DBCollection dbCollection = db.getCollection(tableName);DBCursor dbCursor = dbCollection.find();while(dbCursor.hasNext()){System.out.println(dbCursor.next());}}catch (Exception e) {e.printStackTrace();}}
雖然他們的結果都是一樣的
他們都可以串連MongoDB資料庫,但是有什麼區別呢?
百度查了下,找到這個文章,分析的不錯,有興趣的可以看下...
不過官方文檔和原始碼建議使用MongoClient類... 不就的將來會廢棄Mongo
mongoclient和mongo類寫效能差異原因分析