Java連接MongoDB代碼示例

cp66 9年前發布 | 5K 次閱讀 Java

連接, 獲取db, collection, 增加, 刪除, 更新, 查詢等基本操作

import java.net.UnknownHostException;
import java.util.List;
import java.util.Set;

import org.junit.Test;

import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.DBTCPConnector; import com.mongodb.Mongo; import com.mongodb.WriteResult;

/**

  • 對于mongon的測試
  • @author Gaojie */ public class MongoDBTest {

    Mongo m; DBTCPConnector conn; private DB db;

    @Test public void testMongo() throws UnknownHostException {

     String host = "202.108.*.*";
     m = new Mongo(host, 27017);
     // m.get
    

    }

    @Test public void testConntect() throws Exception {

     testMongo();
     System.out.println("Mongo: " + m);
     conn = m.getConnector();
     System.out.println("DBTCPConnector: " + conn.getServerAddressList());
    

    }

    @Test public void testDB() throws Exception {

     testMongo();
     testConntect();
    
     // 獲取admin的數據庫
     db = m.getDB("gaojie");
     System.out.println("DB=" + db);
     boolean auth = db.authenticate("root", "123456".toCharArray());
     System.out.println("auth=" + auth);
    

    }

    @Test public void testGetAll() throws Exception {

     testDB();
     // 獲取db里面的collection(表)
     Set<String> names = db.getCollectionNames();
    
     for (String name : names) {
         System.out.println("CollectionName: " + name);
         DBCollection coll = db.getCollection(name);
         System.out.println("CollectionCount=" + coll.count());
    
         DBCursor cursor = coll.find();
         while (cursor.hasNext()) {
             System.out.println("DBObject=" + cursor.next());
         }
    
         List<DBObject> objs = coll.getIndexInfo();
         for (DBObject obj : objs) {
             System.out.println("IndexInfo=" + obj);
         }
         System.out.println("==============");
     }
     // 獲取表結果
    

    }

    @Test public void testCollection() throws Exception {

     testDB();
    
     if (db.isAuthenticated()) {
         for (String coll : db.getCollectionNames()) {
             System.out.println("collection=" + coll);
         }
     }
    

    }

    @Test public void testInsert() throws Exception {

     testDB();
    
     if (db.isAuthenticated()) {
         DBCollection coll = db.getCollection("test");
         DBObject obj = new BasicDBObject();
         obj.put("name", "gaojie");
         obj.put("age", 2403);
         obj.put("md5", "546466sfsddfsd");
         WriteResult wr = coll.insert(obj);
         System.out.println("WriteResult=" + wr);
     }
    

    }

    @Test public void testInsertObj() throws Exception {

     testDB();
     if (db.isAuthenticated()) {
         DBCollection coll = db.getCollection("test");
         DBObject obj = new BasicDBObject();
         obj.put("pepole", new User());
    
         WriteResult wr = coll.insert(obj);
         System.out.println("WriteResult=" + wr);
     }
    

    }

    @Test public void testRemove() throws Exception {

     testDB();
     if (db.isAuthenticated()) {
         DBCollection coll = db.getCollection("test");
         DBObject obj = new BasicDBObject();
         // obj.put("name", "gaojie1");
         obj.put("age", 110);
         System.out.println("WriteResult=" + coll.remove(obj));
     }
    

    }

    @Test public void testUpdate() throws Exception {

     testDB();
    
     if (db.isAuthenticated()) {
         DBCollection coll = db.getCollection("test");
         DBObject obj = new BasicDBObject();
         obj.put("name", "gaojie10");
         obj.put("age", 110);
    
         DBObject upObj = new BasicDBObject();
         upObj.put("name", "gaojie10");
    
         // upObj.put("age", 110);
    
         System.out.println("WriteResult=" + coll.update(obj, upObj));
     }
    

    }

    @Test public void testQuery() throws Exception {

     testDB();
    
     if (db.isAuthenticated()) {
         DBCollection coll = db.getCollection("test");
         DBObject obj = new BasicDBObject();
         // obj.put("name", "gaojie00");
         obj.put("age", 110);
    
         DBCursor cursor = coll.find(obj);
         while (cursor.hasNext()) {
             System.out.println("DBObject=" + cursor.next());
         }
     }
    

    } } </pre>

 本文由用戶 cp66 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!