mongodb工具类
来源:互联网 发布:卖跑步装备的淘宝店 编辑:程序博客网 时间:2024/05/27 20:21
import java.net.UnknownHostException;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import org.slf4j.Logger;import org.slf4j.LoggerFactory;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.WriteResult;import com.mongodb.util.JSON;/** * MongoDB操作类 * @author dyk * */public class MongoDbManagerImpl implements MongoDbManager{ protected static Logger logger = LoggerFactory.getLogger("03046"); private static final String DBNAME = "clementine"; private Mongo mongo = null; private DB dbConnection = null; private String mongoServerAddr; private int mongoServerPort; private static Map<String, DBCollection> dbCollectionMap = new ConcurrentHashMap<String, DBCollection>(); public void setMongoServerAddr(String mongoServerAddr) { this.mongoServerAddr = mongoServerAddr; } public void setMongoServerPort(int mongoServerPort) { this.mongoServerPort = mongoServerPort; } public void init() { if (this.mongo == null) { try { this.mongo = new Mongo( this.mongoServerAddr , this.mongoServerPort); if (null != this.mongo) { this.dbConnection = this.mongo.getDB(DBNAME); } } catch (UnknownHostException e) { logger.error("连接mongoDb失败, 服务器地址: " + this.mongoServerAddr + ", 端口: " + this.mongoServerPort); throw new RuntimeException(e); } } } /** * get an table * @param collectionName * @return */ private DBCollection getDBCollection(String collectionName) { DBCollection collection = null; if (dbCollectionMap.containsKey(collectionName)) { collection = dbCollectionMap.get(collectionName); } else { collection = this.dbConnection.getCollection(collectionName); if (null != collection) { dbCollectionMap.put(collectionName, collection); } } return collection; } /** * check if doc exsit * @param collectionName table name * @param query target document */ @Override public boolean isDocumentExsit(String collectionName, DBObject query) { boolean result = false; DBCursor dbCursor = null; DBCollection collection = this.getDBCollection(collectionName); if (null != collection) { dbCursor = collection.find(query); if (null != dbCursor && dbCursor.hasNext()) { result = true; } } return result; } /** * query an record * @param collectionName table name * @param query target document * @return */ @Override public DBObject selectDocument(String collectionName, DBObject query) { DBObject result = null; DBCursor dbCursor = null; DBCollection collection = this.getDBCollection(collectionName); if (null != collection) { dbCursor = collection.find(query); if (null != dbCursor && dbCursor.hasNext()) { result = dbCursor.next(); } } return result; } /** * /** * insert an new record * @param collectionName table name * @param newDocument new doc * @param query target document */ @Override public void insertDocument(String collectionName, DBObject newDocument) { DBCollection collection = this.getDBCollection(collectionName); if (null != collection) { if (!this.isDocumentExsit(collectionName, newDocument)) {//insert only doc not exist collection.insert(newDocument); } } } /** * update an document * @param collectionName * @param query target document * @param updatedDocument * @return */ @Override public boolean updateDocument(String collectionName, DBObject query, DBObject updatedDocument) { boolean result = false; WriteResult writeResult = null; DBCollection collection = this.getDBCollection(collectionName); if (null != collection) { writeResult = collection.update(query, updatedDocument); if (null != writeResult) { if (writeResult.getN() > 0) { result = true; } } } return result; } /** * delete an document * @param collectionName * @param document target document * @return */ @Override public boolean deleteDocument(String collectionName, DBObject query) { boolean result = false; WriteResult writeResult = null; DBCollection collection = this.getDBCollection(collectionName); if (null != collection) { writeResult = collection.remove(query); if (null != writeResult) { if (writeResult.getN() > 0) { result = true; } } } return result; } public static void main(String[] args) throws UnknownHostException { MongoDbManagerImpl m = new MongoDbManagerImpl(); m.setMongoServerAddr("10.235.164.180"); m.setMongoServerPort(27017); m.init(); String collectionName = "myTest"; //insert String json ="{'num' : 1}"; DBObject doc1 =(DBObject)JSON.parse(json); m.insertDocument(collectionName, doc1); //select DBObject doc2 = null; DBObject query = new BasicDBObject(); query.put("num", 1); doc2 = m.selectDocument(collectionName, query); System.out.println(doc2); //update DBObject updatedDocument = new BasicDBObject(); updatedDocument.put("$set", new BasicDBObject().append("num", 100)); boolean result = m.updateDocument(collectionName, query, updatedDocument); System.out.println(result); query.put("num", 100);// //remove result = m.deleteDocument(collectionName, query); System.out.println(result); }}
0 0
- MongoDB客户端工具类
- mongodb 工具类
- mongodb工具类
- mongodb工具类
- mongodb Java 工具类
- MongoDB工具类
- mongodb工具类
- JAVA mongodb工具类
- redis和mongodb工具类
- MongoDB 工具
- JAVA单例MongoDB工具类
- JAVA单例MongoDB工具类
- java操作MongoDB工具类分享
- Mongodb自己封装的工具类
- Mongodb-java获取链接工具类
- MongoDB 工具类及简单测试
- MongoDB 客户端工具(图)
- mongodb监控工具
- Java学习笔记之深入理解动态绑定和静态绑定
- Leetcode-integer-to-roman
- sphinx 源码阅读之数据结构与算法
- 二分搜索
- 安卓手机屏幕同步工具asm.jar
- mongodb工具类
- noi2010能量采集(在网格点中互质的特点)
- 微信sdk的用法
- Data and Times
- javascript异步编程
- 软件开发者如何准备未来?
- MongoDB学习整理
- 3. ioctl
- java基础(七)/面向对像