资源简介
java操作mongodb的工具类,增删查改方法
代码片段和文件信息
package com.iot.App.utils;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.bson.Document;
import org.bson.conversions.Bson;
import org.bson.types.objectId;
import com.mongodb.BasicDBobject;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.MongoClientOptions.Builder;
import com.mongodb.WriteConcern;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;
import com.mongodb.client.model.Filters;
import com.mongodb.client.result.DeleteResult;
/**
* MongoDB工具类 Mongo实例代表了一个数据库连接池,即使在多线程的环境中,一个Mongo实例对我们来说已经足够了
* 注意Mongo已经实现了连接池,并且是线程安全的。
* 设计为单例模式, 因 MongoDB的Java驱动是线程安全的,对于一般的应用,只要一个Mongo实例即可,
* Mongo有个内置的连接池(默认为10个) 对于有大量写和读的环境中,为了确保在一个Session中使用同一个DB时,
* DB和DBCollection是绝对线程安全的
*
* @author zhoulingfei
* @date 2015-5-29 上午11:49:49
* @version 0.0.0
* @Copyright (c)1997-2015 NavInfo Co.Ltd. All Rights Reserved.
*/
public enum MongoDBUtil {
/**
* 定义一个枚举的元素,它代表此类的一个实例
*/
instance;
// private static SystemConfig systemConfig = SystemConfig.getInstance();
private final static Log log = LogFactory.getLog(MongoDBUtil.class);
// private final static String db_ip = systemConfig.getMongodb_ip();
// private final static int db_port = systemConfig.getMongodb_port();
private MongoClient mongoClient;
static {
log.info(“===============MongoDBUtil初始化========================“);
// 从配置文件中获取属性值
instance.mongoClient = new MongoClient(“10.12.42.52“ 27017);
// or to connect to a replica set with auto-discovery of the primary
// supply a seed list of members
// List listHost = Arrays.asList(new
// ServerAddress(“localhost“ 27017)new ServerAddress(“localhost“
// 27018));
// instance.mongoClient = new MongoClient(listHost);
// 大部分用户使用mongodb都在安全内网下,但如果将mongodb设为安全验证模式,就需要在客户端提供用户名和密码:
// boolean auth = db.authenticate(myUserName myPassword);
Builder options = new MongoClientOptions.Builder();
// options.autoConnectRetry(true);// 自动重连true
// options.maxAutoConnectRetryTime(10); // the maximum auto connect
// retry time
options.connectionsPerHost(300);// 连接池设置为300个连接默认为100
options.connectTimeout(15000);// 连接超时,推荐>3000毫秒
options.maxWaitTime(5000); //
options.socketTimeout(0);// 套接字超时时间,0无限制
options.threadsAllowedToBlockForConnectionMultiplier(5000);// 线程队列数,如果连接线程排满了队列就会抛出“Out
// of
// semaphores
// to get
// db”错误。
options.writeConcern(WriteConcern.SAFE);//
options.build();
}
// ------------------------------------共用方法---------------------------------------------------
/**
* 获取DB实例 - 指定DB
*
* @param dbName
* @return
- 上一篇:李兴华视频
- 下一篇:sqljdbc Jar包
相关资源
- 李兴华视频
- java、jsp学生信息,学生成绩管理查询
- JAVA飞机大战源代码
- Java实现的一个FTP客户端
- java遗传算法_求TSP,java界面版
- java Spring+openOffice实现office转pdf在线预
- mysql-connector-java-5.1.36-bin.jar;mysql jd
- 图书管理系统java课程设计报告.rar
- java链接生成二维码
- 社团活动学分管理系统
- mysql-connector-java-5.1.20-bin.jar
- java局域网聊天室课程设计源码
- 局域网聊天室课程设计java
- Java+OpenCV+OCR 图像字符处理
- java远程屏幕共享程序局域网
- Eclipse 2018-12 J2EE 绿色版 免安装
- Eclipse 2019-03 J2EE 绿色版 免安装 最新
- 微信支付-商户支付模式一url接口回调
- Java UDP 实现简单聊天功能
- linux的shell脚本快速部署java环境jdk+t
- Java写的围棋游戏的源代码
- JAVA车站管理售票系统
- 2015年传智播客35期JavaEE工程师从基础
- 股票K线指标算法整理Java封装工具类,
- 基于java的商品信息管理系统--大学本
- java常用工具类-Verify
- JavaEE课程设计
- java项目视频教程20套
- java游戏服务器设计视频教程 netty-mi
- javaweb电商项目实战
评论
共有 条评论