您的位置:首页 > 数据库 > Mongodb

mongodb工具类

2016-05-12 17:18 706 查看

mongodb的一个基本工具类,提供的了基本的数据库操作,具体细节请阅读代码

MongoBaseDao.java

----------

import com.google.common.collect.Lists;
import com.mongodb.*;
import com.thinkgem.jeesite.common.config.Global;
import cz.spring.embedmongo.EmbeddedMongoFactoryBean;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;
import java.util.Map;

/**
* Created by lenovo on 2016/5/12.
*/
public class MongoBaseDao{

@Autowired
private EmbeddedMongoFactoryBean embeddedMongoFactoryBean;

private static String dbName = Global.setProperties("spider.properties").getProperty("mongo.spider");

/**
* 保存表数据
*
* @param tableName
* @param map
* @return
*/
public WriteResult saveAndUpdate(String tableName, Map map) {
DBCollection table = MongoUtils.getTable(dbName, tableName);
WriteResult save = table.save(new BasicDBObject(map));
return save;
}

/**
* 批量插入
*
* @param tableName
* @param list
* @return
*/
public WriteResult insertBatch(String tableName, List<Map> list) {
DBCollection table = MongoUtils.getTable(dbName, tableName);
List<DBObject> DBList = Lists.newArrayList();
for (Map map : list) {
DBList.add(new BasicDBObject(map));
}
WriteResult save = table.insert(DBList);
return save;
}

/**
* 根据条件查找
*
* @param tableName
* @param map
* @return
*/
public DBCursor find(String tableName, Map map) {
DBCollection table = MongoUtils.getTable(dbName, tableName);
DBCursor dbObjects = table.find(new BasicDBObject(map));
return dbObjects;
}

/**
* 查找全部
*
* @param tableName
* @return
*/
public DBCursor findAll(String tableName) {
DBCollection table = MongoUtils.getTable(dbName, tableName);
DBCursor dbObjects = table.find(new BasicDBObject());
return dbObjects;
}

public DBObject findOne(String tableName, Map map) {
DBCollection table = MongoUtils.getTable(dbName, tableName);
DBObject one = table.findOne(new BasicDBObject(map));
return one;
}
}
MongoUtils .java
----------

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
import cz.spring.embedmongo.EmbeddedMongoFactoryBean;
import org.springframework.beans.factory.annotation.Autowired;

import java.io.IOException;
import java.util.Set;

/**
* mongodb 工具类
* Created by lenovo on 2016/5/12.
*/
public class MongoUtils {

private static MongoClient mongoClient;
private static DB db;

@Autowired
private static EmbeddedMongoFactoryBean embeddedMongoFactoryBean;

/**
* 获取mongodb client
*
* @return
*/
public static MongoClient getMongoClient() {
try {
mongoClient = embeddedMongoFactoryBean.getObject();
} catch (IOException e) {
e.printStackTrace();
}
return mongoClient;
}

/**
* 关闭mongodbClient
*/
public static void closeDbClient() {
getMongoClient().close();
}

/**
* 获取数据库
*
* @param dbName
* @return
*/
public static DB getDB(String dbName) {
db = getMongoClient().getDB(dbName);
return db;
}

/**
* 删除数据库
*
* @param dbName
*/
public static void dropDataBase(String dbName) {
db = getDB(dbName);
db.dropDatabase();
}

/**
* 创建数据库表
*
* @param dbName
* @param tableName
* @param options
* @return
*/
public static DBCollection createTable(String dbName, String tableName, DBObject options) {
db = getDB(dbName);
DBCollection collection = db.createCollection(tableName, options);
return collection;
}

/**
* 获取数据库表
*
* @param dbName
* @param tableName
* @return
*/
public static DBCollection getTable(String dbName, String tableName) {
db = getDB(dbName);
DBCollection collection = db.getCollection(tableName);
return collection;
}

/**
* 获取数据库下所有的表名
*
* @param dbName
* @param tableName
* @return
*/
public static Set getTables(String dbName, String tableName) {
db = getDB(dbName);
Set<String> collections = db.getCollectionNames();
return collections;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: