目录
写在前面
一、步骤介绍
步骤 1: 添加 MongoDB 依赖
在 pom.xml
文件中,添加 MongoDB 的依赖。可以在 Maven 或 Gradle 中选择一种方式。
<dependencies>
<!-- 其他依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>
dependencies {
// 其他依赖
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
}
步骤 2: 配置 MongoDB 连接信息
在 application.properties
或 application.yml
中添加 MongoDB 连接信息:
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=mydatabase
yml格式:
spring:
data:
mongodb:
host: localhost
port: 27017
database: mydatabase
步骤 3: 创建实体类
创建一个简单的实体类,用于映射到 MongoDB 中的文档。例如:
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "users")
public class User {
@Id
private String id;
private String username;
private String email;
// 省略构造函数、getter和setter等
}
步骤 4: 创建 Repository 接口
创建一个继承自 MongoRepository
的接口,用于对 MongoDB 中的文档进行操作。例如:
import org.springframework.data.mongodb.repository.MongoRepository;
public interface UserRepository extends MongoRepository<User, String> {
// 可以在这里定义一些自定义的查询方法
}
步骤 5: 使用 Repository 进行操作
在服务层或控制器中注入 UserRepository
,然后可以使用该接口提供的方法来进行数据库操作。例如:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
public void saveUser(User user) {
userRepository.save(user);
}
public User getUserById(String id) {
return userRepository.findById(id).orElse(null);
}
// 其他操作...
}
二、特殊处理
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>2.7.0</version> <!-- 请根据你需要的版本进行替换 -->
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>3.4.1</version> <!-- 请根据你需要的版本进行替换 -->
</dependency>