您的位置:首页 > 编程语言 > Java开发

java连接mogodb

2016-03-10 14:38 295 查看
1.

MongoConnection 类

package com.test.mongodb;

import java.net.UnknownHostException;

import java.util.ArrayList;

import java.util.List;

import org.apache.log4j.Logger;

import com.mongodb.DB;

import com.mongodb.MongoClient;

import com.mongodb.MongoCredential;

import com.mongodb.ServerAddress;

public class MongoConnection {

protected static Logger logger = Logger.getLogger(MongoConnection.class);

private static MongoClient mongo = null;

private static String dbName = "test";//"db_flag";

private static String hosts = "127.0.0.1";//"10.0.0.91";

private static String ports = "27017";//"37017";

private static String userName = "db_flag";

private static String password = "db_flag";

private static DB db = null;

public static DB getDB() {

if (db == null) {

try {

init();

} catch (UnknownHostException e) {

logger.error(" mongodb init fail !"+e);

}

}

return db;

}

private static void init() throws UnknownHostException {

List<ServerAddress> addresses = new ArrayList<ServerAddress>();

List<MongoCredential> credential = new ArrayList<MongoCredential>();

if((hosts!=null)&&(ports!=null)){

String ips [] = hosts.split(",");

String port [] =ports.split(",");

if(ips.length!=port.length){

logger.warn("config is error");

return;

}else{

MongoCredential mc = null;

ServerAddress serverAddress = null;

for (int i = 0; i < ips.length; i++) {

//mc =MongoCredential.createMongoCRCredential(userName, dbName, password.toCharArray());

mc =MongoCredential.createScramSha1Credential(userName, dbName, password.toCharArray());

serverAddress= new ServerAddress(ips[i],Integer.parseInt(port[i]));

addresses.add(serverAddress);

credential.add(mc);

}

}

}else {

logger.warn("config is error");

return;

}

//mongo = new MongoClient(addresses,credential);

mongo = new MongoClient(addresses);

db = mongo.getDB(dbName);

}

public static void close(){

if(mongo!=null){

mongo.close();

}

}

}

2.MongoDBHandler

package com.test.mongodb;

import java.util.List;

import com.mongodb.BasicDBList;

import com.mongodb.BasicDBObject;

import com.mongodb.DB;

import com.mongodb.DBCollection;

import com.mongodb.DBCursor;

import com.mongodb.DBObject;

import com.mongodb.MongoException;

public class MongoDBHandler {

private static DB db = null;

static {

db=MongoConnection.getDB();

}

/**

* 获取集合(表)

* @param collection

*/

public static DBCollection getCollection(String collection) {

return db.getCollection(collection);

}

/**

* ----------------------------------分割线--------------------------------------

*/

/**

* 插入

* @param collection

* @param map

*/

public static void insert(String collection , DBObject map) {

try {

DBObject dbObject = (map);

getCollection(collection).insert(dbObject);

} catch (MongoException e) {

e.printStackTrace();

}

}

/**

* 批量插入

* @param collection

* @param list

*/

public static void insertBatch(String collection ,List<DBObject> list) {

if (list == null || list.isEmpty()) {

return;

}

try {

getCollection(collection).insert(list);

} catch (MongoException e) {

e.printStackTrace();

}

}

/**

* 删除

* @param collection

* @param map

*/

public void delete(String collection ,DBObject map) {

DBObject obj = (map);

getCollection(collection).remove(obj);

}

/**

* 删除全部

* @param collection

* @param map

*/

public void deleteAll(String collection) {

List<DBObject> rs = findAll(collection);

if (rs != null && !rs.isEmpty()) {

for (int i = 0; i < rs.size(); i++) {

getCollection(collection).remove(rs.get(i));

}

}

}

/**

* 批量删除

* @param collection

* @param list

*/

public void deleteBatch(String collection,List<DBObject> list) {

if (list == null || list.isEmpty()) {

return;

}

for (int i = 0; i < list.size(); i++) {

getCollection(collection).remove((list.get(i)));

}

}

/**

* 计算满足条件条数

* @param collection

* @param map

*/

public long getCount(String collection,DBObject map) {

return getCollection(collection).getCount((map));

}

/**

* 计算集合总条数

* @param collection

* @param map

*/

public long getCount(String collection) {

return getCollection(collection).find().count();

}

/**

* 更新

* @param collection

* @param setFields

* @param whereFields

*/

public static void update(String collection,DBObject setFields,

DBObject whereFields) {

DBObject obj1 = (setFields);

DBObject obj2 = (whereFields);

getCollection(collection).update(obj2,obj1,true,false );

}

/**

* 查找对象(根据主键_id)

* @param collection

* @param _id

*/

/**

* 查找集合所有对象

* @param collection

*/

public List<DBObject> findAll(String collection) {

return getCollection(collection).find().toArray();

}

/**

* 查找(返回一个对象)

* @param map

* @param collection

*/

public static DBObject findOne(String collection,DBObject map) {

DBCollection coll = getCollection(collection);

return coll.findOne((map));

}

/**

* 查找(返回一个List<DBObject>)

* @param <DBObject>

* @param map

* @param collection

* @throws Exception

*/

public List<DBObject> find(String collection,DBObject map) throws Exception {

DBCollection coll = getCollection(collection);

DBCursor c = coll.find((map));

if (c != null)

return c.toArray();

else

return null;

}

public List<DBObject> find(String collection,DBObject map,int limit) throws Exception {

DBCollection coll = getCollection(collection);

DBCursor c = coll.find((map)).limit(limit);

if (c != null)

return c.toArray();

else

return null;

}

public List<DBObject> find(String collection,DBObject map,int limit,DBObject sort) throws Exception {

DBCollection coll = getCollection(collection);

DBCursor c = coll.find((map)).sort(sort).limit(limit);

if (c != null)

return c.toArray();

else

return null;

}

public DBCursor find(String collection,DBObject map,int limit,int skip,DBObject sort) throws Exception {

DBCollection coll = getCollection(collection);

DBCursor c = coll.find(map).sort(sort).skip(skip).limit(limit);

if (c != null)

return c;

else

return null;

}

public BasicDBList group(String collection,BasicDBObject cond, BasicDBObject xx, BasicDBObject initial, String reduce){

DBCollection coll = getCollection(collection);

String fn =null;

return (BasicDBList) coll.group( cond,xx, initial, reduce);

}

public DBCursor find(String collection,DBObject map,int limit,int skip) throws Exception {

DBCollection coll = getCollection(collection);

DBCursor c = coll.find((map)).skip(skip).limit(limit);

if (c != null)

return c;

else

return null;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: