MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。
MongoDB使用文档的方式存储数据,而且非常容易进行分库分表的操作。在Spring Boot中集成mongdb非常简单,只需要在新建项目的时候勾选mongdb一项即可,使用起来也足够简单。但是由于使用时很简单也造成其不够灵活的特点,因此我们需要自己实现一个可以分库分表的mongdb操作代码。
- 首先在pom.xml中引入mongdb依赖:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
</dependency>
- mongdb是一种非关系型数据库,因此使用java连接的话也需要一些身份认证,在application.yml中加入配置信息:
xyh:
mongodb:
URI: mongodb://test:test123@127.0.0.1/
dataBase: comment
注意:以上配置所用到的都是我们自己定义的变量名,127.0.0.1为本机地址,因此需要你额外安装mongdb
- 有了配置之后就需要用代码去读取这些配置了,新建MongoDBManager.java类用于读取配置信息:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
/**
* MongoDB管理器
*/
@Component
public class MongoDBManager {
/**
* URI
*/
@Value("${xyh.mongodb.URI}")
private String uri;
/**
* URI
*/
@Value("${xyh.mongodb.dataBase}")
private String dataBase;
/**
* 获取 MongoClient 对象,可以只创建一个
*
* @return MongoClient对象
*/
@Bean
public MongoClient mongoClient() {
System.out.println("\n\n\n\n\n" + uri + dataBase);
return new MongoClient(new MongoClientURI(uri + dataBase));
}