1. 程式人生 > >基於MongoDB資料庫的Java程式實現增刪改查功能

基於MongoDB資料庫的Java程式實現增刪改查功能

今天我來說一下使用Java程式去實現MongoDB資料庫的增刪改查功能。

首先需要匯入連線資料庫的jar包,需要的話這是連結:http://pan.baidu.com/s/1eSDytAM,把jar包放到lib目錄下,然後在buildpath一下即可。

(1)實現資料插入,這是實現資料插入的程式碼:

public void add() throws Exception{
//建立連線
	Mongo mongo = new Mongo("localhost",27017);
		
//獲取指定的資料庫
DB db = mongo.getDB("test");
		
	//獲取指定的集合
	DBCollection dbCollection = db.getCollection("person");
		
	BasicDBObject dbObject = new BasicDBObject();//DBObject代表的是一個物件
	dbObject.put("name", "wujinfan");
	dbObject.put("desc", "好人一個");
		
	dbCollection.insert(dbObject);
		
	mongo.close();
}
我來講解一下,第一行程式碼是建立Mongo物件並且連線主機和匹配埠號,其次是找到指定的資料庫以及找到指定的集合,因為MongoDB資料庫是以鍵值對的形式儲存資料的。所以建立BasicDBObject物件,然後把資料放到集合裡面,最後在關閉mongo物件。最後我們來檢視一下資料庫是否已經插入了該資料,截圖如下:

2實現資料的查詢,這是現實資料查詢的程式碼:

public void query() throws Exception{
	//建立連線
	Mongo mongo = new Mongo("localhost",27017);
		
	//獲取指定的資料庫
	DB db = mongo.getDB("test");
		
	//獲取指定的集合
	DBCollection dbCollection = db.getCollection("person");
		
	DBObject dbObject = new BasicDBObject();
	dbObject.put("name","wujinfan");
		
	//DBCursor結果集
	DBCursor cursor = dbCollection.find(dbObject);
		
	while(cursor.hasNext()){
		DBObject o = cursor.next();
		System.out.println(o.toString());
	}
}
     我來講解一下,查詢前面的程式碼和插入是一樣的,這裡是通過name屬性來查的,因為查詢最會返回的是一個結果集,所以建立DBCursor物件,最後把結果集裡面的東西迭代一下,
打印出來,截圖如下:
     (3)實現資料的更改,程式碼如下:
public void update() throws Exception{
	//建立連線
	Mongo mongo = new Mongo("localhost",27017);
						
	//獲取指定的資料庫
	DB db = mongo.getDB("test");
						
	//獲取指定的集合
	DBCollection dbCollection = db.getCollection("person");
		
	BasicDBObject query = new BasicDBObject("_id",new ObjectId("59741894c976d5484a715f68"));
	BasicDBObject object = (BasicDBObject)dbCollection.findOne(query);
	object.put("name", "king");
	int i = dbCollection.update(query, object).getN();
	System.out.println(i);
	mongo.close();
}

    我來解釋一下:前面的程式碼和之前的一樣,這裡我們是用id來查詢的,找到之後在進行鍵值對的重新更改,然後在列印在控制檯上面,截圖如下:
    (4)實現集合的清空,程式碼如下:
public void delete() throws Exception{
	//建立連線
	Mongo mongo = new Mongo("localhost",27017);
				
	//獲取指定的資料庫
	DB db = mongo.getDB("test");
			
	//獲取指定的集合
	DBCollection dbCollection = db.getCollection("person");
		
	DBObject dbObject = new BasicDBObject();
	dbCollection.remove(dbObject);
	mongo.close();
}
實現集合中某條資料的刪除,程式碼如下:
public void deleteOne() throws Exception{
	//建立連線
	Mongo mongo = new Mongo("localhost",27017);
						
	//獲取指定的資料庫
	DB db = mongo.getDB("test");
						
	//獲取指定的集合
	DBCollection dbCollection = db.getCollection("person");
		
	BasicDBObject query = new BasicDBObject("_id",new ObjectId("597314e5c976b243c37bcd15"));
	BasicDBObject object = (BasicDBObject)dbCollection.findOne(query);
		
	dbCollection.remove(object);
	mongo.close();
}
我來解釋一下,實現集合的清空和集合中刪除某條資料的區別就在於刪除某一條資料時至於找到其所在的id即可,最後都是關閉mongo即可。