MongodbUtil
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.MongoClientURI;
import com.mongodb.MongoCredential;
import com.mongodb.MongoOptions;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoDatabase;
import java.util.Arrays; /**
* @作者 yan
* @创建日期 2017-3-16 14:42:20
* @版本 V1.0
* @描述 MongoDB JDBC工具类
*/
public class MongodbUtil { private static MongoClient mongoClient = null; private MongodbUtil() {} static {
if(PropertiesUtil.getInt("mongodb.auth")==1){
initAuthDB();
}else{
initDB();
}
} public static MongoDatabase getDB() {
if (null != mongoClient) {
setOptions(); return mongoClient.getDatabase(PropertiesUtil.getString("mongodb.dbname"));
} return null;
} /**
* 无认证链接
*/
private static void initDB() {
MongoClientURI uri = new MongoClientURI(
PropertiesUtil.getString("mongodb.uri"),
MongoClientOptions.builder().cursorFinalizerEnabled(false)); mongoClient = new MongoClient(uri);
} /**
* 认证链接
*/
private static void initAuthDB(){
MongoCredential credential = MongoCredential.createCredential(
PropertiesUtil.getString("mongodb.user"),
PropertiesUtil.getString("mongodb.dbname"),
PropertiesUtil.getString("mongodb.pwd").toCharArray()); ServerAddress addr = new ServerAddress(
PropertiesUtil.getString("mongodb.host"),
PropertiesUtil.getInt("mongodb.port")); mongoClient = new MongoClient(addr,Arrays.asList(credential));
} /**
* 连接池配置
*/
private static void setOptions(){
MongoOptions opt = mongoClient.getMongoOptions();
opt.connectionsPerHost = PropertiesUtil.getInt("mongodb.poolsize");
opt.threadsAllowedToBlockForConnectionMultiplier = PropertiesUtil.getInt("mongodb.blocksize");
}
}
MongodbUtil的更多相关文章
- mongodb高级操作及在Java企业级开发中的应用
Java连接mongoDB Java连接MongoDB需要驱动包,个人所用包为mongo-2.10.0.jar.可以在网上下载最新版本. package org.dennisit.mongodb.st ...
- mongodb的高级操作(聚合框架)
group by 查询 不要用java驱动带的group by ,要用2.2版本后的aggregate聚合框架来搞,经过试验速度快一倍 参考 官网:http://docs.mongodb.org/ma ...
- mongoDb +Java+springboot
前言 :mongoDb 是一种比较常用的非关系数据库,文档数据库, 格式为json ,redis 有五种格式. 1. 项目中要使用,这里简单做个示例.首先是连接mongoDB,用的最多的robomon ...
- mongodb 3.x connect with credential
package mongoDb; import java.net.UnknownHostException; import java.util.ArrayList; import java.util. ...
- C#封装MongoDB工具类库
什么是MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可扩 ...
- mongodb- Java API 查询操作
package com.x.mongodb; import java.net.UnknownHostException;import java.util.Collection;import java. ...
- mongoDB工具类以及测试类【java】
java操作mongo工具类 package Utils; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; im ...
- 自己的mongodb的CRUD封装
工具类:package Utils; import com.google.common.collect.Lists; import com.mongodb.MongoClient; import co ...
- linux:安装并使用mongo
1.下载mongo: curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 2.解压: tar -zxvf ...
随机推荐
- 英特尔老款CPU支持虚拟化对照表(转)
说明:一般来说新款的挤牙膏公司出的CPU都基本支持虚拟化,但不包括Atom系列的,也就是小主机低功耗机器使用的CPU. Intel® Virtualization Technology List YE ...
- python类型比较的3种方式(转)
通过types模块的类成员来判断,其实所有python中的类型都是这个types模块中类型的实例. import types type(x) is types.IntType # 判断是否int 类型 ...
- HDU 4727 The Number Off of FFF (水题)
The Number Off of FFF Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- BZOJ 1269: [AHOI2006]文本编辑器editor (splay tree)
1269: [AHOI2006]文本编辑器editor Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1213 Solved: 454[Submit ...
- struts2对拦截器使用带实例
拦截器是struts2的核心.拦截器可以拦截请求,控制视图的走向.那么怎么来实现自定义的拦截器呢? 这里我们做一个例子. 首先假现在做了两个jsp页面一个是登陆的信息的(用session来模拟),一个 ...
- Ransac 与 最小二乘(LS, Least Squares)拟合直线的效果比较
代码下载地址 http://pan.baidu.com/s/1eQIzj3c 进入目录后,请自行定位到该博客的源代码与数据的目录“
- firedac引擎DATASNAP多表查询和多表提交
firedac引擎DATASNAP多表查询和多表提交 属性设置FDTableAdapter1.SchemaAdapter := FDSchemaAdapter;FDTableAdapter1.DatS ...
- 将asi-http-request引入到ARC工程需要做的 转
在发表前,容许我发两句牢骚,太折腾了.但结合网路上各种大侠的答案相助,最终我终于可以在ARC项目使用该库了. 1.需要下载asi-http-request这个包.https://github.com/ ...
- .Net异步编程 z
1. 引言 最近在学习Abp框架,发现Abp框架的很多Api都提供了同步异步两种写法.异步编程说起来,大家可能都会说异步编程性能好.但好在哪里,引入了什么问题,以及如何使用,想必也未必能答的上来. 自 ...
- linux下通过iptables只允许指定ip地址访问指定端口的设置方法
这篇文章主要介绍了linux下通过iptables只允许指定ip地址访问指定端口的设置方法,需要的朋友可以参考下. 首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的 ...