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的更多相关文章

  1. mongodb高级操作及在Java企业级开发中的应用

    Java连接mongoDB Java连接MongoDB需要驱动包,个人所用包为mongo-2.10.0.jar.可以在网上下载最新版本. package org.dennisit.mongodb.st ...

  2. mongodb的高级操作(聚合框架)

    group by 查询 不要用java驱动带的group by ,要用2.2版本后的aggregate聚合框架来搞,经过试验速度快一倍 参考 官网:http://docs.mongodb.org/ma ...

  3. mongoDb +Java+springboot

    前言 :mongoDb 是一种比较常用的非关系数据库,文档数据库, 格式为json ,redis 有五种格式. 1. 项目中要使用,这里简单做个示例.首先是连接mongoDB,用的最多的robomon ...

  4. mongodb 3.x connect with credential

    package mongoDb; import java.net.UnknownHostException; import java.util.ArrayList; import java.util. ...

  5. C#封装MongoDB工具类库

    什么是MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可扩 ...

  6. mongodb- Java API 查询操作

    package com.x.mongodb; import java.net.UnknownHostException;import java.util.Collection;import java. ...

  7. mongoDB工具类以及测试类【java】

    java操作mongo工具类 package Utils; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; im ...

  8. 自己的mongodb的CRUD封装

    工具类:package Utils; import com.google.common.collect.Lists; import com.mongodb.MongoClient; import co ...

  9. linux:安装并使用mongo

    1.下载mongo:  curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 2.解压: tar -zxvf ...

随机推荐

  1. ThinkPHP实现登录限制时__construct和_initialize的区别

    ThinkPHP支持两种构造方法:  __construct和_initialize(ThinkPHP内置的构造方法). 测试URL为:  http://oa.com/index.php/Admin/ ...

  2. Tomcat篇

    安装tomcat 先从tomcat官网找到最新的版本下载地址,我找的是Core下的安装包,下载到本地: wget http://mirror.bit.edu.cn/apache/tomcat/tomc ...

  3. IE11 全新的F12开发者工具

      我讨厌debug,相信也没多少开发者会喜欢.但是当代码出错之后肯定是要找出问题出在哪里的.不过网页开发的时候遇到 BUG 是一件再正常不过的事情了,我们不能保证自己的代码万无一失,于是使用浏览器的 ...

  4. DISQLite3 - A self-contained, embeddable, zero-configuration SQL database engine for Delphi

    DISQLite3 implements a self-contained, embeddable, zero-configuration SQL database engine for Delphi ...

  5. 关于错误errno EFAULT:Bad address

    UDP socket : read error Bad address 在写UDP server.在调用套接字读取的时候发生了这个错误. 通过看errno.h 能够看到相应的错误号  EFAULT: ...

  6. 我的NHibernate曲折之行

    之前,看过很多NHibernate的东西.特别是 YJingLee的NHibernate之旅系列比较经典.看得多了,但是还没有真正的从头到尾的做过一边.今天从头到尾做了一遍,发现问题还真多.我就将我做 ...

  7. MySQL数据库事务各隔离级别加锁情况--Repeatable Read && MVCC(转)

    本文转自https://m.imooc.com/article/details?article_id=17289 感谢作者 上节回顾 上两篇记录了我对MySQL 事务 隔离级别read uncommi ...

  8. sql把一个表的某几列的数据存到另一个表里

    一.如何用slq语句把一个表中的某几个字段的数据插入到另一个新表中,就要用下面这条slq语句:    insert into 表名1(字段1,字段2) select 字段1,字段2 from 表名2 ...

  9. java四舍五入保留两位小数4种方法

    4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...

  10. Eclipse 搭建struts2 spring3 hibernate3环境实战 待完善

    1.struts2 目前是2.3版本,下载地址http://struts.apache.org/download.cgi struts2包 struts2-core-2.3.16.3.jar stru ...