MongoDB数据库建立连接

<span style="font-size:14px;">package com.eduaks.luck.test;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.pCf;
import com.Util;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoOptions;
import com.mongodb.ServerAddress;
import com.mongodb.WriteConcern;
import com.mongodb.WriteResult;

public class Test {
	
	private static Log log = LogFactory.getLog(MongoUtil.class);
	private static Mongo mongo;
	private static DB db;//要连接的数据库
	protected DBCollection _coll;
	protected String _ns;//数据库中插入信息的表的名字
	static {
		try {

			ServerAddress address = new ServerAddress("127.0.0.1",
					27017);
			MongoOptions option = new MongoOptions();
			option.connectionsPerHost = 1000;
			option.threadsAllowedToBlockForConnectionMultiplier = 100;
			option.maxWaitTime = 5000;
			option.autoConnectRetry = true;
			option.socketKeepAlive = true;
			mongo = new Mongo(address, option);
			db =  mongo.getDB(AppCf.mongo_dbname);//要连接的数据库
			_coll = _db.getCollection(_ns);//建立连接
//			boolean auth = db.authenticate(AppCf.mongo_username, AppCf.mongo_password.toCharArray());
//			if(!auth){
//				log.error("数据库用户名和密码错误!");
//			}

		} catch (Exception e) {
			log.error("mongo数据库初始化失败,失败原因:" + e.getMessage(), e);
		}
	
	}

	public static DB getDB() {
		return db;
		
	}

	/**
	 * 插入
	 * 
	 * @Title: insert
	 * @Description: TODO
	 * @param @param basicDBObject
	 * @param @return
	 * @return WriteResult
	 * @throws
	 */
	public WriteResult insert(DBObject basicDBObject) {
		try {
			return _coll.insert(basicDBObject, WriteConcern.SAFE);
		} catch (Exception e) {
			log.error("插入失败!" + e.getMessage(), e);
		}
		return null;
	}
}
</span>




package com.luck.mongdb;

import java.net.UnknownHostException;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException;

public class MongDBTest {
    public static void main(String[] args) {
         Mongo mongo;
            try {
                    mongo = new Mongo("192.168.9.60", 27017);
                    DB db = mongo.getDB("myText");
                    //创建表
                   // DBObject obj =  (BasicDBObject)JSON.parse("{'name':'zouguijin','age':'25'}");
                    //db.createCollection("test",obj);
                    
                    
                   DBCollection table = db.getCollection("test");
                   //增加
                  /* BasicDBObject beanOne = new BasicDBObject();
                    beanOne.put("name", "kakakaka");
                    beanOne.put("sex", "男");
                    beanOne.put("age", 20);
                    table.save(beanOne);*/
                   
                   //查询
                   DBCursor dbCursor= table.find();
                   BasicDBObject oldObject = new BasicDBObject();
                   System.out.println(dbCursor.toArray());
                   for(DBObject i : dbCursor){
                       oldObject = (BasicDBObject) i;
                        System.out.println(i.get("name"));
                        System.out.println(i.get("sex"));
                        System.out.println(i.get("age")+":"+i.get("_id"));
                    }
                   //修改
                   BasicDBObject   newObject = new BasicDBObject();
                   newObject.put("name", "第三方");
                   newObject.put("sex", "女");
                   newObject.put("age", 30);
                  // table.update(oldObject,newObject);
                   //删除
                   table.findAndRemove(newObject);
                   
                   
                   
            } catch (UnknownHostException e) {
                e.printStackTrace();
            } catch (MongoException e) {
                e.printStackTrace();
            }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值