在 Spring Boot 里配置与非关系型数据库 MongoDB 的连接,可按以下步骤操作:
1. 创建 Spring Boot 项目
你可以借助 Spring Initializr(https://start.spring.io/ )来创建一个新的 Spring Boot 项目,添加 Spring Data MongoDB
依赖。也能在 pom.xml
里手动添加依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>
2. 配置 MongoDB 连接信息
在 application.properties
或者 application.yml
中配置 MongoDB 的连接信息。
application.properties
示例
# MongoDB 连接 URI
spring.data.mongodb.uri=mongodb://localhost:27017/your_database_name
application.yml
示例
spring:
data:
mongodb:
uri: mongodb://localhost:27017/your_database_name
上述配置里,mongodb://localhost:27017
是 MongoDB 服务器的地址和端口,your_database_name
是你要使用的数据库名称。
3. 定义实体类
创建一个 Java 类来映射 MongoDB 集合中的文档。例如,创建一个 User
实体类:
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
// 指定该类对应 MongoDB 中的 users 集合
@Document(collection = "users")
public class User {
// 标记为文档的主键
@Id
private String id;
private String name;
private int age;
// 无参构造函数
public User() {
}
// 有参构造函数
public User(String name, int age) {
this.name = name;
this.age = age;
}
// Getter 和 Setter 方法
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
4. 创建 Repository 接口
创建一个继承自 MongoRepository
的接口,以进行数据库操作。
import org.springframework.data.mongodb.repository.MongoRepository;
// 继承 MongoRepository 接口,指定实体类和主键类型
public interface UserRepository extends MongoRepository<User, String> {
}
5. 使用 Repository 进行数据库操作
在服务类或者控制器中注入 UserRepository
并使用它来操作数据库。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
// 注入 UserRepository
@Autowired
private UserRepository userRepository;
// 保存用户信息
public User saveUser(User user) {
return userRepository.save(user);
}
// 获取所有用户信息
public List<User> getAllUsers() {
return userRepository.findAll();
}
}
6. 测试数据库操作
可以编写一个简单的控制器来测试数据库操作。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
// 保存用户信息的接口
@PostMapping
public User saveUser(@RequestBody User user) {
return userService.saveUser(user);
}
// 获取所有用户信息的接口
@GetMapping
public List<User> getAllUsers() {
return userService.getAllUsers();
}
}
7. 运行项目
启动 Spring Boot 应用程序,你可以使用 Postman 或者其他工具来测试 /users
接口,实现数据的增查操作。
综上所述,通过上述步骤,你就可以在 Spring Boot 项目中完成 MongoDB 数据库的连接配置,并且进行基本的数据操作。