mongodb java 教程_MongoDB Java 教程 - 连接数据库

使用MongoClient连接MongoDB数据库,MongoClient 实例自带连接池,一个应用中,仅需要一个MongoClient实例即可。

连接单个MongoDB实例

使用无参的MongoClient,默认连接localhost,端口使用27017

MongoClient mongoClient = new MongoClient();复制代码

指定host,端口默认 27017

MongoClient mongoClient = new MongoClient( "host1" );复制代码

指定host和端口

MongoClient mongoClient = new MongoClient( "host1" , 27017 );复制代码

使用MongoClientURI创建连接

MongoClient mongoClient = new MongoClient(new MongoClientURI("mongodb://host1:27017"));复制代码

连接复制集

使用MongoClientURI连接

MongoClient mongoClient = new MongoClient(

new MongoClientURI("mongodb://host1:27017,host2:27017,host3:27017"));复制代码

通过制定ServerAddress 连接

MongoClient mongoClient = new MongoClient(

Arrays.asList(new ServerAddress("host1", 27017),

new ServerAddress("host2", 27017),

new ServerAddress("host3", 27017)));复制代码

连接分片集群

指定mongos的host和端口

MongoClient mongoClient = new MongoClient( "localhost" , 27017 );复制代码

通过MongoClientURI 连接

MongoClient mongoClient = new MongoClient(new MongoClientURI("mongodb://localhost:27017"));复制代码

使用MongoClientURI 连接多个mongos实例

MongoClient mongoClient = new MongoClient(

new MongoClientURI("mongodb://host1:27017,host2:27017"));复制代码

使用ServerAddress 连接多个实例

MongoClient mongoClient = new MongoClient(

Arrays.asList(new ServerAddress("host1", 27017),

new ServerAddress("host2", 27017)));复制代码

连接选项

可以使用MongoClient或者MongoClientOptions,或者这两者指定连接MongoDB的配置。 例如如果需要使用SSL连接

MongoClientURI uri = new MongoClientURI("mongodb://user1:pwd1@host1/?authSource=db1&ssl=true");

MongoClient mongoClient = new MongoClient(uri);复制代码

使用MongoCredential 设置授权信息

String user; // the user name

String database; // the name of the database in which the user is defined

char[] password; // the password as a character array

// ...

MongoCredential credential = MongoCredential.createCredential(user, database, password);

MongoClientOptions options = MongoClientOptions.builder().sslEnabled(true).build();

MongoClient mongoClient = new MongoClient(new ServerAddress("host1", 27017),

Arrays.asList(credential),

options);复制代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值