springboot连接mongdb
pom.xml引包
<!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.0</version>
</dependency>
连接mongodb代码工具类
package com.demo.config;
import cn.hutool.core.util.StrUtil;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoDatabase;
import java.util.ArrayList;
import java.util.List;
/**
* Created by JiangJunpeng on 2020/3/19.<br>
*/
public class MongoDBConfig {
/**
* @description:不通过认证获取连接数据库对象
* @param:
* @return:
* @author:JiangJunpeng
* @date:2020/3/20
*/
public static MongoDatabase getConnect(String host, int port, String dataBase) {
//连接到 mongodb 服务
MongoClient mongoClient = new MongoClient(host, port);
//返回连接数据库对象
return mongoClient.getDatabase(dataBase);
}
/**
* @description:不通过认证获取连接数据库集群对象
* @param:
* @return:
* @author:JiangJunpeng
* @date:2020/3/23
*/
public static MongoDatabase getConnectCluster(String url, String dataBase) {
//连接到 mongodb 服务
MongoClient mongoClient = new MongoClient(new MongoClientURI(url));
//返回连接数据库对象
return mongoClient.getDatabase(dataBase);
}
public static MongoClient connect(String url) {
MongoClient mongoClient = null;
if (StrUtil.contains(url, "mongodb")) {
mongoClient = new MongoClient(new MongoClientURI(url));
} else {
String mongoHost = url.substring(0, url.indexOf(":"));
String mongoPort = url.substring(url.lastIndexOf(":") + 1);
mongoClient = new MongoClient(mongoHost, Integer.parseInt(mongoPort));
}
return mongoClient;
}
/**
* @description:需要密码认证方式连接
* @param:
* @return:
* @author:JiangJunpeng
* @date:2020/3/20
*/
public static MongoDatabase getConnect2(String host, int port, String dataBase, String userName, String password) {
List<ServerAddress> adds = new ArrayList<>();
//ServerAddress()两个参数分别为 服务器地址 和 端口
ServerAddress serverAddress = new ServerAddress(host, port);
adds.add(serverAddress);
List<MongoCredential> credentials = new ArrayList<>();
//MongoCredential.createScramSha1Credential()三个参数分别为 用户名 数据库名称 密码
MongoCredential mongoCredential = MongoCredential.createScramSha1Credential(userName, dataBase, password.toCharArray());
credentials.add(mongoCredential);
//通过连接认证获取MongoDB连接
MongoClient mongoClient = new MongoClient(adds, credentials);
//连接到数据库
//返回连接数据库对象
return mongoClient.getDatabase("test");
}
}