91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

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

資源簡介

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
?

評論

共有 條評論