📅  最后修改于: 2023-12-03 15:20:12.850000             🧑  作者: Mango
本文将介绍如何在 Spring Boot 应用程序中连接 MongoDB 数据库。在本文中,我们将使用 Spring Boot 版本 2.x 和 MongoDB 驱动程序版本 3.x。
在开始连接 MongoDB 数据库之前,我们需要确保以下几点:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>
这将在项目中添加 Spring Data MongoDB 的依赖项。
要配置 MongoDB 数据库,请在 application.properties 或 application.yml 文件中添加以下属性:
spring:
data:
mongodb:
host: localhost
port: 27017
database: mydb
username: myuser
password: mypass
这将配置 Spring Boot 应用程序连接到名为 mydb 的 MongoDB 数据库,并使用提供的用户名和密码进行身份验证。如果 MongoDB 是在不同的主机上运行,则需要更改 host 和 port 属性的值。
在连接到 MongoDB 数据库之前,我们需要定义一个数据模型。我们将创建一个名为 Person 的简单模型,如下所示:
@Data
@NoArgsConstructor
@AllArgsConstructor
@Document(collection = "person")
public class Person {
@Id
private String id;
private String firstName;
private String lastName;
private Integer age;
}
我们使用 Lombok 库来自动创建 getter 和 setter 方法。注意,我们使用 @Document 注释指定模型的集合名称为 "person"。
存储库是用于在应用程序和数据库之间进行通信的接口。我们将使用 Spring Data MongoDB 创建一个存储库,如下所示:
@Repository
public interface PersonRepository extends MongoRepository<Person, String> {
List<Person> findByFirstName(String firstName);
List<Person> findByLastName(String lastName);
List<Person> findByAgeGreaterThan(Integer age);
}
我们现在可以使用 PersonRepository 接口的方法执行 CRUD 操作。
在我们的应用程序中使用 MongoDB 存储库非常简单。我们只需要在需要使用存储库的地方自动装配它就行了:
@Service
public class PersonService {
@Autowired
private PersonRepository repository;
public void savePerson(Person person) {
repository.save(person);
}
public List<Person> findByFirstName(String firstName) {
return repository.findByFirstName(firstName);
}
public List<Person> findByLastName(String lastName) {
return repository.findByLastName(lastName);
}
public List<Person> findByAgeGreaterThan(Integer age) {
return repository.findByAgeGreaterThan(age);
}
}
在上面的代码中,我们使用 @Autowired 注释将 PersonRepository 存储库自动注入到 PersonService 类中。
我们现在可以从我们的应用程序中调用 PersonService 类中的方法,并与 MongoDB 数据库进行通信。
在本文中,我们介绍了如何在 Spring Boot 应用程序中连接到 MongoDB 数据库。我们学习了如何创建 MongoDB 模型、存储库和如何与存储库进行交互。如果您想了解更多关于 Spring Boot 和 MongoDB 的信息,可以查看 Spring Data MongoDB 的官方文档。