Java連接MongoDB,基於最新mongodb-driver3.7
寫在前面:
好久沒更更新博客了,主要因為我現在在頭條寫博客文章。大家可以關註下我的頭條號:我是樂樂樂樂呀
目前最新的MongoDB連接版本為3.8,不過還是測試版本的。可以說截止目前為止,3.7是最新的版本。
在3.7版本中,以前舊版本有些方法已經申明為過期方法了:如,getDB()方法
這涉及到的一系列CRUD方法都發生了變化。
下面貼上一段基於3.7版本的連接代碼:
public static void main(String[] args) {
MongoClientOptions.Builder builder = MongoClientOptions.builder();
//最大連接數
builder.connectionsPerHost(10);
//最小連接數
builder.minConnectionsPerHost(5);
//超時時間
builder.connectTimeout(1000*3);
// 一個線程成功獲取到一個可用數據庫之前的最大等待時間
builder.maxWaitTime(5000);
//此參數跟connectionsPerHost的乘機為一個線程變為可用的最大阻塞數,超過此乘機數之後的所有線程將及時獲取一個異常.eg.connectionsPerHost=10 and threadsAllowedToBlockForConnectionMultiplier=5,最多50個線程等級一個鏈接,推薦配置為5
builder.threadsAllowedToBlockForConnectionMultiplier(5);
//最大空閑時間
builder.maxConnectionIdleTime(1000*10);
//設置池連接的最大生命時間。
builder.maxConnectionLifeTime(1000*10);
//連接超時時間
builder.socketTimeout(1000*10);
MongoClientOptions myOptions = builder.build();
List<ServerAddress> serverAddressList = new ArrayList<>();
ServerAddress record = new ServerAddress("127.0.0.1");
serverAddressList.add(record);
MongoCredential credential = MongoCredential.createCredential("loger","db_test","apple".toCharArray());
MongoClient mongoClient = new MongoClient(serverAddressList, credential, myOptions);
MongoDatabase dbTest = mongoClient.getDatabase("db_test");
String name = dbTest.getName();
System.out.println("數據庫名字:"+name);
MongoIterable<String> strings = dbTest.listCollectionNames();
for(String str:strings){
System.out.println("數據庫表名:"+str);
}
}
截圖版:
代碼中都有註釋,這裏就不多說了。執行看下結果:
MongoDB連接成功!
Java連接MongoDB,基於最新mongodb-driver3.7