MongoDB java方法
来源:互联网 发布:便携式网络测试仪 编辑:程序博客网 时间:2024/05/16 20:39
- package model.dao;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import org.apache.log4j.Logger;
- import org.bson.types.ObjectId;
- 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;
- /**
- * MongoDB Manager
- * @author Ken Chau
- *
- */
- public class MongoDBManager {
- private static Logger log = Logger.getLogger(MongoDBManager.class);
- private static Mongo mg = null;
- private static DB db = null;
- private final static MongoDBManager instance = new MongoDBManager();
- /**
- * 实例化
- * @return
- * @throws Exception
- */
- public static MongoDBManager getInstance() throws Exception {
- return instance;
- }
- static {
- try {
- mg = new Mongo(HOST, PORT);
- db=mg.getDB(DB);
- } catch (Exception e) {
- log.error("Can't connect MongoDB!");
- e.printStackTrace();
- }
- }
- /**
- * 获取集合(表)
- * @param collection
- */
- public static DBCollection getCollection(String collection) {
- return db.getCollection(collection);
- }
- /**
- * ----------------------------------分割线--------------------------------------
- */
- /**
- * 插入
- * @param collection
- * @param map
- */
- public void insert(String collection , Map<String, Object> map) {
- try {
- DBObject dbObject = map2Obj(map);
- getCollection(collection).insert(dbObject);
- } catch (MongoException e) {
- log.error("MongoException:" + e.getMessage());
- }
- }
- /**
- * 批量插入
- * @param collection
- * @param list
- */
- public void insertBatch(String collection ,List<Map<String, Object>> list) {
- if (list == null || list.isEmpty()) {
- return;
- }
- try {
- List<DBObject> listDB = new ArrayList<DBObject>();
- for (int i = 0; i < list.size(); i++) {
- DBObject dbObject = map2Obj(list.get(i));
- listDB.add(dbObject);
- }
- getCollection(collection).insert(listDB);
- } catch (MongoException e) {
- log.error("MongoException:" + e.getMessage());
- }
- }
- /**
- * 删除
- * @param collection
- * @param map
- */
- public void delete(String collection ,Map<String, Object> map) {
- DBObject obj = map2Obj(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<Map<String, Object>> list) {
- if (list == null || list.isEmpty()) {
- return;
- }
- for (int i = 0; i < list.size(); i++) {
- getCollection(collection).remove(map2Obj(list.get(i)));
- }
- }
- /**
- * 计算满足条件条数
- * @param collection
- * @param map
- */
- public long getCount(String collection,Map<String, Object> map) {
- return getCollection(collection).getCount(map2Obj(map));
- }
- /**
- * 计算集合总条数
- * @param collection
- * @param map
- */
- public long getCount(String collection) {
- return getCollection(collection).find().count();
- }
- /**
- * 更新
- * @param collection
- * @param setFields
- * @param whereFields
- */
- public void update(String collection,Map<String, Object> setFields,
- Map<String, Object> whereFields) {
- DBObject obj1 = map2Obj(setFields);
- DBObject obj2 = map2Obj(whereFields);
- getCollection(collection).updateMulti(obj1, obj2);
- }
- /**
- * 查找对象(根据主键_id)
- * @param collection
- * @param _id
- */
- public DBObject findById(String collection,String _id) {
- DBObject obj = new BasicDBObject();
- obj.put("_id", ObjectId.massageToObjectId(_id));
- return getCollection(collection).findOne(obj);
- }
- /**
- * 查找集合所有对象
- * @param collection
- */
- public List<DBObject> findAll(String collection) {
- return getCollection(collection).find().toArray();
- }
- /**
- * 查找(返回一个对象)
- * @param map
- * @param collection
- */
- public DBObject findOne(String collection,Map<String, Object> map) {
- DBCollection coll = getCollection(collection);
- return coll.findOne(map2Obj(map));
- }
- /**
- * 查找(返回一个List<DBObject>)
- * @param <DBObject>
- * @param map
- * @param collection
- * @throws Exception
- */
- public List<DBObject> find(String collection,Map<String, Object> map) throws Exception {
- DBCollection coll = getCollection(collection);
- DBCursor c = coll.find(map2Obj(map));
- if (c != null)
- return c.toArray();
- else
- return null;
- }
- MongoDB Java 通用方法
- MongoDB java方法
- java操作Mongodb的方法
- mongodb进行java调用方法
- java操作mongodb的几种方法
- MongoDB对应Java实体类编写方法
- [mongodb]java操作mongodb
- [mongodb]java操作mongodb
- [MongoDB]MongoDB Java 入门
- java连接MongoDB的方法(包括java和MongoDB环境的搭建)
- java mongodb
- MongoDB Java
- mongodb java
- MongoDB+Java
- mongoDB-java
- MongoDB Java
- MongoDB Java
- MongoDB Java
- vim中回车换行缩进问题
- 线程知识点总结
- 恢复win7开机动画
- C语言如何查看和修改MySQL使用的字符集
- tomcat6.0_+_myeclipse8.5_+_jdk_完整配置环境(很详细)
- MongoDB java方法
- HTTP错误 大全 403 401 400 404 304 200
- 修改数据库中表的所有者为dbo。
- 项目计划管理软件:GanttProject
- vim 命令
- 改善C++代码的学习笔记2
- Shanghai ** Product Development Plan
- 我的yum配置
- Howto: receive mail and save attachment with fetchmail, procmail and metamail