如何在Spring Boot中进行数据库连接配置?(非关系型数据库 MongoDB)

时间:2025-04-23 10:46:35

在 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 数据库的连接配置,并且进行基本的数据操作。