xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 9KB
    文件類型: .java
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-12
  • 語(yǔ)言: Java
  • 標(biāo)簽: java??mongodb??

資源簡(jiǎn)介

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實(shí)例代表了一個(gè)數(shù)據(jù)庫(kù)連接池,即使在多線程的環(huán)境中,一個(gè)Mongo實(shí)例對(duì)我們來(lái)說(shuō)已經(jīng)足夠了

?*?注意Mongo已經(jīng)實(shí)現(xiàn)了連接池,并且是線程安全的。?

?*?設(shè)計(jì)為單例模式,?因?MongoDB的Java驅(qū)動(dòng)是線程安全的,對(duì)于一般的應(yīng)用,只要一個(gè)Mongo實(shí)例即可,

?*?Mongo有個(gè)內(nèi)置的連接池(默認(rèn)為10個(gè))?對(duì)于有大量寫和讀的環(huán)境中,為了確保在一個(gè)Session中使用同一個(gè)DB時(shí),

?*?DB和DBCollection是絕對(duì)線程安全的

?*?
?*?@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?{

/**
?*?定義一個(gè)枚舉的元素,它代表此類的一個(gè)實(shí)例
?*/
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(“l(fā)ocalhost“?27017)new?ServerAddress(“l(fā)ocalhost“
//?27018));
//?instance.mongoClient?=?new?MongoClient(listHost);

//?大部分用戶使用mongodb都在安全內(nèi)網(wǎng)下,但如果將mongodb設(shè)為安全驗(yàn)證模式,就需要在客戶端提供用戶名和密碼:
//?boolean?auth?=?db.authenticate(myUserName?myPassword);
Builder?options?=?new?MongoClientOptions.Builder();
//?options.autoConnectRetry(true);//?自動(dòng)重連true
//?options.maxAutoConnectRetryTime(10);?//?the?maximum?auto?connect
//?retry?time
options.connectionsPerHost(300);//?連接池設(shè)置為300個(gè)連接默認(rèn)為100
options.connectTimeout(15000);//?連接超時(shí),推薦>3000毫秒
options.maxWaitTime(5000);?//
options.socketTimeout(0);//?套接字超時(shí)時(shí)間,0無(wú)限制
options.threadsAllowedToBlockForConnectionMultiplier(5000);//?線程隊(duì)列數(shù),如果連接線程排滿了隊(duì)列就會(huì)拋出“Out
//?of
//?semaphores
//?to?get
//?db”錯(cuò)誤。
options.writeConcern(WriteConcern.SAFE);//
options.build();
}

//?------------------------------------共用方法---------------------------------------------------
/**
?*?獲取DB實(shí)例?-?指定DB
?*?
?*?@param?dbName
?*?@return
?

評(píng)論

共有 條評(píng)論

相關(guān)資源