MongoDb(1)Java連接MongoDb數據庫

 MongoDb(1)Java連接MongoDb數據庫

/*
 * This Java source file was generated by the Gradle 'init' task.
 */
package connectMongoDb;

import org.bson.Document;
import org.bson.conversions.Bson;

import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.*;
/**
 * <p>Java連接MongoDb數據庫</p>
 * @author lius
 *
 */
public class Library implements AutoCloseable {
	private static MongoClient mClient = null;
	public static void main(String[] args) {
		//創建實例
		Library library = new Library();
		//執行實例類start方法
		library.start();
	}

	private void start() {
		//連接本地Mongo服務
		MongoClient mClient = new MongoClient("127.0.0.1");
		//獲取指定的數據庫
		MongoDatabase dataBase = mClient.getDatabase("admin");
		//判斷是否存在“a”collection,不存在就創建
		if(dataBase.getCollection("a")==null) {
			dataBase.createCollection("a");
		}
		//獲取指定的collection
		MongoCollection<Document> coll = dataBase.getCollection("a");
		//判斷該collection不存在數據就創建
		if(coll.count()<=0) {
			coll.insertOne(new Document("name","tom").append("sex", "F"));
		}
		//查詢collection下“sex”值爲“F”的數據,並將返回的數據集合作爲迭代器
		MongoCursor<Document> fs = coll.find(Filters.eq("sex","F")).iterator();
		//打印輸出collection下的數據量的統計值
		System.out.println(coll.count());
		//循環遍歷打印迭代器迭代出的每一個Document,並將Document的數據以Json的形式展現
		while(fs.hasNext()) {
			System.out.println(fs.next().toJson());
		}
	}
	
	//實現AutoCloseAble接口,實現實例銷燬自動執行close方法
	@Override
	public void close() throws Exception {
		// TODO Auto-generated method stub
		System.out.println("into...close:");
		if(mClient!=null) {
			mClient.close();
			System.out.println("close:"+mClient);
		}
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章