<强>先决条件强>
先运行mongodb肯定是必须的,然后导入以下包:
进口com.mongodb.MongoClient; 进口com.mongodb.MongoClientURI; 进口com.mongodb.ServerAddress; 进口com.mongodb.MongoCredential; 进口com.mongodb.MongoClientOptions;
<强> MongoClient 强>
MongoClient()实例表示到数据库的连接池;你将只需要MongoClient类的一个实例,即使有多个线程也是一样。
重要:
通常,您只能为给定的MongoDB部署(例如独立,副本集或分片群集)创建一个MongoClient实例,并在您的应用程序中使用它。但是,如果您创建了多个实例:
-
<李>所有资源使用限制(例如,最大连接等)适用于每个MongoClient实例。李>
<李>要关闭一个实例,调用MongoClient.close()来清理资源。李>
<>强连接到一个独立的MongoDB实例强>
以下几种方法:
1。
MongoClient MongoClient=new MongoClient (“host1 ", 27017); & # 8203;>之前2。您可以指定theMongoClientURI连接字符串。
MongoClient MongoClient=new MongoClient(新MongoClientURI (mongodb://host1:27017 "));<>强连接到副本集强>
MongoDB将自动发现主要和副本。
您可以指定成员使用theMongoClientURI连接字符串:
指定两个副本集:
代码如下:MongoClient MongoClient=new MongoClient(新MongoClientURI (“host2:27017, mongodb://host1:27017 host3:27017 ")); & # 8203;
至少有一个副本集和副本集选项的成员:
代码如下:MongoClient MongoClient=new MongoClient(新MongoClientURI (“host2:27017, mongodb://host1:27017 host3:27017/& # 63; replicaSet=myReplicaSet "));
你可以使用ServerAddress指定副本集中的所有成员。
MongoClient MongoClient=new MongoClient ( 数组。asList(新ServerAddress (“host1”, 27017年), 新ServerAddress (“host2”, 27017年), 新ServerAddress (“host3”, 27017)));<>强连接到分片集群强>
要连接到分片群集,请将蒙戈实例或多个实例指定给MongoClient构造函数。
连接到一个蒙戈实例:
MongoClient MongoClient=new MongoClient (“localhost”, 27017年),连接多个蒙戈实例:
MongoClient MongoClient=new MongoClient(新MongoClientURI (mongodb://host1:27017, host2:27017)); MongoClient MongoClient=new MongoClient ( 数组。asList(新ServerAddress (“host1”, 27017年), 新ServerAddress (“host2”, 27017))); >之前<>强连接选项强>
您可以使用MongoClientURI或MongoClientOptions或两者来指定连接设置。
例如,您可以在MongoClientURI连接字符串中指定TLS/SSL和身份验证设置:
MongoClientURI uri=new MongoClientURI (“mongodb://user1: pwd1@host1/& # 63; authSource=db1& ssl=true”); MongoClient MongoClient=new MongoClient (uri);您还可以使用MongoClientOptions来指定TLS/SSL和MongoCredential的认证信息:
字符串的用户;//用户名 字符串数据库;//数据库中用户的名称定义 char[]密码;//密码字符数组//? MongoCredential凭据=MongoCredential。createCredential(用户、数据库密码); MongoClientOptions选项=MongoClientOptions.builder () .sslEnabled(真正的).build (); MongoClient MongoClient=new MongoClient(新ServerAddress (“host1”, 27017年), arrays . aslist(凭证),选项);这里只是官方给的简单演示连接,不可直接用于生产环境,比如:这里边没有配置读写关注,读取偏好,连接池配置等都是默认的。而这些默认值直接用于生产环境肯定是不行的。
至于生产环境怎么配置,要根据业务情况来实际分析,我在后边会提供一个参考。
生产环境配置见:mongodb连接配置实践
参考官方文档:https://mongodb.github.io/mongo-java-driver/3.4/driver/tutorials/connect-to-mongodb/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
详解Java连接MongoDB集群的几种方式