基于最新mongodb-driver3.7,Java连接MongoDB

写在前面:我现在在头条写博客文章。大家可以关注下我的头条号:我是乐乐乐乐呀

目前最新的MongoDB连接版本为3.8,不过还是测试版本的。可以说截止目前为止,3.7是最新的版本。

在3.7版本中,以前旧版本有些方法已经申明为过期方法了:如,getDB()方法

Java连接MongoDB,基于最新mongodb-driver3.7

 

这涉及到的一系列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);

}

}

截图版:

Java连接MongoDB,基于最新mongodb-driver3.7

 

代码中都有注释,这里就不多说了。执行看下结果:

Java连接MongoDB,基于最新mongodb-driver3.7

 

MongoDB连接成功!

说明:每一个数据库,建议单独设置一个账户,用超级管理员账户在java client下操作其他数据库,似乎有问题。。。

猜你喜欢

转载自www.cnblogs.com/loger1995/p/9126840.html
今日推荐