Java中获取MongoDB连接的方法详解
发布于 2020-5-31|
复制链接
摘记: 首先是所需jar包,Maven中的配置如下:
```xml
org.mongodb
mongodb-driver
3.4.1
org.mongodb
bson
3.4.1
org.springframework.data
..
首先是所需jar包,Maven中的配置如下:
```xml
org.mongodb
mongodb-driver
3.4.1
org.mongodb
bson
3.4.1
org.springframework.data
spring-data-mongodb
1.7.0.RELEASE
org.mongodb
mongo-java-driver
3.9.1
```
获取连接的代码如下(本中用的是模板类):
```bash
List addrs = new ArrayList();
addrs.add(new ServerAddress(dataSource.getSourceIp(), Integer.valueOf(dataSource.getSourcePort())));
List credentials = new ArrayList();
credentials.add(MongoCredential.createScramSha1Credential(dataSource.getUsername(), dataSource.getSourceName(), dataSource.getPassword().toCharArray()));
MongoClient mongoClient = new MongoClient(addrs, credentials);
MongoDbFactory mongoDbFactory = new SimpleMongoDbFactory(mongoClient, dataSource.getSourceName());
MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory);
mongoTemplate.getCollectionNames();
```
或者用如下方式获取:
```bash
ServerAddress serverAddress = new ServerAddress("192.168.16.121",27017);
List addrs = new ArrayList();
addrs.add(serverAddress);
//MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码
MongoCredential credential = MongoCredential.createScramSha1Credential("root", "admin", "123456Ab".toCharArray());
List credentials = new ArrayList();
credentials.add(credential);
//通过连接认证获取Mo