java連接mongodb

package com.vv.mdb.dao;

import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.apache.log4j.Logger;

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mvbox.util.ConfigUtility;

/**
 * 
 * @author 007
 * @date Mar 18, 2015 5:46:41 PM
 * @version V1.0
 * @Description: TODO(java 連接mongodb)
 * 
 */
public class Mongdbmgr {
	private static Mongdbmgr mgr;
	private static Logger _log = Logger.getLogger(Mongdbmgr.class);
	static String addressListStr = ConfigUtility.getInstance().getValue("mongodb.addressListStr");
	static DBCollection users;
	static Mongo mg;
	static DB db;
	private static String uname = ConfigUtility.getInstance().getValue("mongodb.uname");
	private static String pwd = ConfigUtility.getInstance().getValue("mongodb.passwd");
	private static String authDb = ConfigUtility.getInstance().getValue("mongodb.authdb");

	private Mongdbmgr() {
		List<ServerAddress> addresses = new ArrayList<ServerAddress>();
		String[] address = addressListStr.split(",");
		try {
			for (String adr : address) {
				String[] adrArray = adr.split(":");
				if (adrArray != null && adrArray.length == 2) {
					ServerAddress serverAddress;
					serverAddress = new ServerAddress(adrArray[0], Integer.valueOf(adrArray[1]));
					addresses.add(serverAddress);
				}
			}
		} catch (UnknownHostException e) {
			_log.error("Mongdbmgr error", e);
		}

		MongoCredential credential = MongoCredential.createCredential(uname, authDb, pwd.toCharArray());
		mg = new MongoClient(addresses, Arrays.asList(credential));
		//查詢所有的Database
		//		for (String name : mg.getDatabaseNames()) {
		//			System.out.println("dbName: " + name);
		//		}
		//查詢所有的聚集集合
		//db = mg.getDB("msg");
		//		for (String name : db.getCollectionNames()) {
		//			System.out.println("collectionName: " + name);
		//		}

		//users = db.getCollection("user");
	}

	public DB getDB(String dbname) {
		return mg.getDB(dbname);
	}

	public static Mongdbmgr getInstance() {
		if (mgr == null) {
			mgr = new Mongdbmgr();
		}
		return mgr;
	}

}

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