package com.cdel.portal.core.mongo;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.UnknownHostException;
import java.util.List;
import java.util.Properties;
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 MongoDBManager {
/**
* 连接池
*/
private static Mongo mg = null;
/**
* you can think it is similar to connection
*/
private static DB db;
// private static final String dbAddress="192.168.190.49";
// private static final int dbPort=27017;
// private static final String dbName="lectureDB";
static{
try {
InputStream is = MongoDBManager.class.getClassLoader().getResourceAsStream("mongDB.properties");
Properties p = new Properties();
p.load(is);
Integer dbPort = Integer.parseInt((String)p.get( "dbPort") );
mg = new Mongo( (String)p.get( "dbAddress") ,dbPort );
db = mg.getDB((String) p.get("dbName") );
is.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public MongoDBManager() throws UnknownHostException, MongoException{
// users = db.getCollection("users");
}
/**
* 根据 集合的名字 得到集合对象
* @param collectionName
* @return
*/
public DBCollection getCollection(final String collectionName ){
return db.getCollection( collectionName);
}
/**
*
* @param dbCollection
* @param dbObject 添加数据
*/
public void AdddOneData(DBCollection dbCollection, DBObject dbObject){
dbCollection.insert( dbObject );
}
/**
*
* @param collection
* @param dbCondition 删除数据的条件
*/
public void remove(DBCollection collection ,DBObject dbCondition ){
collection.remove( dbCondition );
}
/**
* 更新数据
* @param collection
* @param updateCondition 根据这个条件 所要 更新的的数据
* @param updateResult 数据 更新后的结果
*/
public void update(DBCollection collection,DBObject updateCondition ,DBObject updateResult ){
collection.update( updateCondition , updateResult ,false,false );
}
/**
* 根据条件查询 相应的数据
* @param collection
* @return
*/
public List<DBObject> queryByCondition(DBCollection collection,DBObject condition ){
return collection.find(condition).toArray();
}
/**
* 取得查询结果集
* @param collection
* @return
*/
private static DBCursor getResult(DBCollection collection){
return collection.find();
}
// /**
// * 打印结果数据
// * @param description 结果数据相关描述
// * @param recordResult 结果集
// */
// private static void printData(String description,DBCursor recordResult){
// System.out.println(description);
// for(Iterator<DBObject> iter=recordResult.iterator();iter.hasNext();){
// System.out.println(iter.next());
// }
// }
//
// public DB getDb() {
// return db;
// }
//
// public void setDb(DB db) {
// this.db = db;
// }
//
public static void main(String[] args) throws UnknownHostException, MongoException {
MongoDBManager mongoDBUtil = new MongoDBManager();
DBCollection con = mongoDBUtil.getCollection( "col_lecture");
DBObject lectureObject=new BasicDBObject();
lectureObject.put("kcjyID",44 );
lectureObject.put("jyContent","讲义主体部分" );
mongoDBUtil.AdddOneData(con , lectureObject );
// DBObject lectureObject2 = new BasicDBObject();
//
// lectureObject2.put("kcjyID",111 );
// lectureObject2.put("jyContent","讲义主体部分1111" );
//
// con.update( lectureObject , lectureObject2 ,true,true );
//
// mongoDBUtil.update( con , lectureObject, lectureObject2);
//
// mongoDBUtil.remove( con, lectureObject );
// con.remove( lectureObject );
//
//
// List<DBObject> list = mongoDBUtil.queryByCondition(con , lectureObject );
// for( int i=0 ;i<list.size();i++ ){
// DBObject obj = list.get(i);
// System.out.println( obj.get("kcjyID"));
// System.out.println( obj.get("jyContent"));
// }
// printData("删除pig后的所有结果记录为:",getResult(mongoDBUtil.getDb().getCollection("col_lecture")));
}
}
也可以 继承到spring中 。
附件中是自己整理的MongoDB的使用文档,仅供参考
分享到:
相关推荐
MongoDB连接池是解决数据库连接管理和复用的一种机制,旨在提高应用的并发能力,减少创建和销毁连接的开销,同时确保在高并发场景下的稳定性和响应速度。 标题“MongoDB连接池for Java”指的是在Java环境中,针对...
在本文中,我们将深入探讨如何在Spring Boot应用中配置MongoDB连接池,同时也会涉及到Spring Boot与MyBatis以及MySQL数据库的整合。Spring Boot以其简洁的配置和强大的自动化配置功能,已经成为Java开发者构建微服务...
然而,根据标题“基于hyperf的mongodb连接池组件暂不支持协程”,我们得知Hyperf中的MongoDB连接池组件目前并不支持协程。这个问题涉及到两个关键概念:Hyperf的并发模型和MongoDB的连接池,以及协程在PHP中的应用。...
本文将详细讲解如何使用Kotlin语言编写MongoDB连接工具类,以便在不依赖配置文件的情况下实现数据库的连接和操作。 首先,我们来看`MongoDBUtil.kt`这个文件,它很可能是用来封装MongoDB连接逻辑的工具类。在Kotlin...
该代码是C++ MongoDB的连接池代码实现。代码封装了一个连接池类对象,通过该对象提供的连接池来操作MongoDB,提升了性能,减少了数据库连接资源的开销。
"MongoDB连接工具-32位"正是针对32位操作系统用户而提供的解决方案,因为有些系统由于架构限制无法运行64位软件,例如64位的Robomongo。 Robomongo(现已被官方更名为Studio 3T)是一款功能强大的MongoDB管理工具,...
这就是MongoDB连接池的作用,它能帮助优化资源使用,提高系统性能。 在Java中,我们可以使用如JDBC(Java Database Connectivity)对SQL数据库进行连接池管理,但MongoDB并不支持JDBC。相反,我们需要使用专门的...
在本场景中,我们讨论的是一个针对JDK 1.6的MongoDB连接所需的jar包集合。 首先,`mongo-java-driver`是官方提供的Java驱动程序,版本为3.2.2。这个驱动程序允许Java应用程序直接与MongoDB服务器通信,执行CRUD...
mongodb连接第三方工具
"Mongodb连接池、增删改查实例套装"是针对初学者的教程资源,旨在帮助他们掌握MongoDB的基础操作和最佳实践。以下是这些实例中可能涉及的关键知识点: 1. **MongoDB连接池**: - **连接池概念**:连接池是管理...
以下是关于Navicat与MySQL、MongoDB连接的相关知识点: 1. **Navicat功能概述** - 数据库连接:Navicat允许用户创建、编辑和管理数据库连接,支持多种数据库类型,包括MySQL、MongoDB以及Oracle、SQL Server等。 ...
标题中的 "mongodb 连接工具 studio-3t-x64" 指的是 Studio 3T 的 x64 版本,这是一款专为 MongoDB 设计的桌面应用程序,适用于 64 位操作系统。它提供了丰富的功能,如数据浏览、查询、导入导出、备份恢复以及性能...
总之,MongoDB连接工具NosqlBooster for MongoDB 5.0.3版是一个强大的MongoDB管理解决方案,其易用性和丰富的功能为用户带来了极大的便利。无论你是新手还是经验丰富的MongoDB用户,这款工具都能成为你得力的助手。
标题中的"Robo3T-mongoDb连接工具"指明了Robo 3T的主要功能,即作为连接和管理MongoDB数据库的工具。它提供了与MongoDB服务器交互的平台,包括连接、创建、读取、更新和删除(CRUD)操作,以及数据可视化和脚本执行...
MongoDB Studio 3T是一款强大的MongoDB数据库管理工具,专为简化MongoDB的连接和管理而设计。它提供了直观的图形用户界面(GUI),使得数据库的日常操作变得更加便捷,无论你是开发人员、数据库管理员还是数据分析师...
mongodb连接不上记录文档,并且报如下异常,mongodb部署在centos7上,待关闭防火墙,且改变mongodb启动方式后,顺利连接上,并将数据保存到mongodb数据库。
mongodb Java连接池配置 用于避免Java连接mongodb数据库数过高引起的一系列问题
Java中获取MongoDB连接的方法详解 Java中获取MongoDB连接的方法详解是一个重要的知识点,对于Java开发人员来说,了解如何获取MongoDB连接是非常必要的。本篇文章将详细介绍Java中获取MongoDB连接的方法详解,并提供...
3. **配置连接**:创建`.json`配置文件,包含MongoDB连接信息。 4. **启动服务**:运行Node.js服务,访问指定的Web端口即可打开GUI界面。 ### 五、安全性考量 虽然`adminMongo`提供了一种方便的方式来管理MongoDB...