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);
		}
	}
}

 

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