版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/stalin_/article/details/84791213
前两节我们介绍了MongoDB的一些特性以及基本操作。接下来我们来学习一些如何使用jdbc连接MongoDB集群。
为什么不先讲连接单个MongoDB而是直接连接集群呢。其实是因为MongoDB通常存储的数据量较大。所以一般都是以集群的形式搭建的。所以我们在这里直接就演示如何连接MongoDB集群。
这里我直接提供一个创建Mongo连接池的工具类。当你需要操作MongoDB进行增删改查时直接调用即可返回一个mongoClient对象。
public class MongoUtils { public static MongoClient mongoClient = null; private static String USERNAME;// 用户名 private static String PASSWORD;// 密码 private static String DBNAME;// mongo库名 private static int connectsNum = 30;// 每台服务器连接的最大连接数 private static int threadsAllowedToBlockForConnectionMultiplier = 10;// 线程队列数 private static List<ServerAddress> serverList = new ArrayList<>();// 服务器列表 public static MongoClient initMongo() { try { serverList.add(new ServerAddress("192.168.0.1", 27017));// 注,ip和端口以实际为准,这里只是测试 serverList.add(new ServerAddress("192.168.0.2", 27017));// 注,ip和端口以实际为准,这里只是测试 serverList.add(new ServerAddress("192.168.0.3", 27017));// 注,ip和端口以实际为准,这里只是测试 // 连接池设置 注意readPreference参数 MongoClientOptions options = MongoClientOptions.builder().connectTimeout(6000).socketTimeout(0) .connectionsPerHost(connectsNum).maxConnectionIdleTime(6000) .threadsAllowedToBlockForConnectionMultiplier(threadsAllowedToBlockForConnectionMultiplier) .readPreference(ReadPreference.secondaryPreferred()).build(); // 认证 MongoCredential credential = MongoCredential.createCredential(USERNAME, DBNAME, PASSWORD.toCharArray()); mongoClient = new MongoClient(serverList, Arrays.asList(credential), options); } catch (Exception e) { e.printStackTrace(); } return mongoClient; } }
注:MongoDB的连接池与关系型数据库的不同,他会自动关闭连接,不需要我们手动关闭连接。
喜欢的朋友点个赞哦~~
文章来源: MongoDB--jdbc连接mongo集群