Spring Boot与MongoDB的集成指南与多个数据源。

123 阅读2分钟

MongoDB是一个无模式的NoSQL数据库。它是专门为存储大规模的数据而设计的,也允许你非常有效地处理这些数据。

MongoDB的一些特殊功能是。

**1)无模式的数据库。**一个集合可以容纳多个文件,这些文件可能由不同数量的字段、内容和大小组成。不需要像关系型数据库那样要求一个文档与另一个文档相似。

**2)面向文档:**数据以键值对的形式存储,而不是以行和列的形式存储,这使得数据更加灵活。

**3)索引化。**它用主索引和次索引对文档中的每个字段进行索引,这使得从数据池中获取或搜索数据更加容易,花费的时间更少。

**4) 可扩展性。**它提供了横向可扩展性。我们可以在运行的数据库中添加新的机器。它使用分片来在多台机器上存储数据。分片指的是在多个服务器上分配数据的过程,在这里,大量的数据被分割成使用分片密钥的数据块,这些数据块被均匀地分配到驻扎在许多物理服务器上的分片中。

5)高性能。由 于其可扩展性、索引、复制等功能,MongoDB的性能变得非常高,与其他数据库相比,数据的持久性也非常高。

在这里,我们将把MongoDB的多个数据源与spring boot进行整合。

有两种方法,我们可以通过它们连接到MongoDB数据库,即

MongoRepository

MongoTemplate。

在这里,我们将选择MongoTemplate,因为它提供了高级用途和复杂的查询执行。MongoTemplate为我们提供了对从MongoDB请求的更紧密的控制。它提供了一个比MongoRepository更简单的步骤来编写复杂的查询。甚至一些业内人士也发现MongoTemplate是一个很好的选择,可以轻松地编写复杂的查询。

让我们开始与spring boot项目的集成。

第1步:在pom.xml中添加maven依赖性

<dependency>

第2步:在application.properties中添加连接属性。

spring.data.mongo.firstdb.uri=mongodb://<username>:<password>@<Host>/<DB Name>

第3步:创建DataSource类来管理DB连接。

@Configuration
@Autowired
@Bean
@Bean
}

第四步:创建实体类

@Document(collection="user_mongo")
@Id
public String getUserId() {
public void setUserId(String userId) {
public String getName() {
public void setName(String name) {
public Date getCreationDate() {
public void setCreationDate(Date creationDate) {
}

第5步:创建Repository类

@Repository
public void saveUsers() {
}

这就是全部!

数据被保存在user_mongo集合中。如果你有任何问题,我们可以在下面留言。


Spring Boot与MongoDB的集成指南与多个数据源。最初发表在Dev Genius的Medium上,人们通过强调和回应这个故事继续对话。