springboot整合mongodb(springboot整合mongodb查询嵌套数据)

简介:

Spring Boot 是当下非常流行的一个 Java Web 开发框架,MongoDB 是非关系型数据库,拥有支持海量数据存储、高性能、高可用、强一致性、灵活的数据模型等特点。在实际项目中,经常会使用到 MongoDB 进行数据存储。那么如何利用 Spring Boot 整合 MongoDB 呢?本文将为您介绍具体实现步骤。

多级标题:

1. Spring Boot 集成 MongoDB 的准备工作

2. 创建一个基本模型类

3. 创建数据访问对象(DAO)类

4. 配置 MongoDB 数据源信息

5. 创建服务类与控制器类

6. 测试运行

正文:

1. Spring Boot 集成 MongoDB 的准备工作

在 Spring Boot 项目的 pom.xml 文件中,添加 MongoDB 的依赖:

```

org.springframework.boot

spring-boot-starter-data-mongodb

```

2. 创建一个基本模型类

在项目中创建一个模型类(如 User),该类需要使用注解进行标记 @Document、@Id、@Field:

```

@Document(collection = "user")

public class User {

@Id

private String id;

@Field("name")

private String name;

@Field("age")

private Integer age;

//getter、setter 略

```

3. 创建数据访问对象(DAO)类

创建一个 DAO 类(如 UserRepository),该类需要继承 MongoRepository 接口,提供一些基本的数据访问方法。其中,MongoRepository 为 Spring Boot Data 模块提供的 MongoDB 的操作接口。

```

@Repository

public interface UserRepository extends MongoRepository {

//自定义的数据访问方法

List findByName(String name);

```

4. 配置 MongoDB 数据源信息

在 application.properties 文件中配置 MongoDB 数据源信息:

```

spring.data.mongodb.host=localhost

spring.data.mongodb.port=27017

spring.data.mongodb.databaseName=test

```

5. 创建服务类与控制器类

创建 UserService 服务类,并在其中写入一些基本的调用方法,用于新增、删除、更新、查询等操作。

```

@Service

public class UserService {

@Autowired

private UserRepository userRepository;

public void saveUser(User user) {

userRepository.save(user);

}

public void removeUser(String id) {

userRepository.deleteById(id);

}

public void updateUser(User user) {

userRepository.save(user);

}

public List findUserByName(String name) {

return userRepository.findByName(name);

}

public User findUserById(String id) {

return userRepository.findById(id).orElse(null);

}

```

还需要创建 UserController 控制器类,并在相应的方法中调用 UserService 中的方法

```

@RestController

@RequestMapping(value = "/user")

public class UserController {

@Autowired

private UserService userService;

@PostMapping(value = "/save")

public String saveUser(@RequestBody User user) {

userService.saveUser(user);

return "success";

}

@GetMapping(value = "/find")

public User findUserById(@RequestParam String id) {

return userService.findUserById(id);

}

//自定义路由,根据用户名查询

@GetMapping(value = "/find/{name}")

public List findUserByName(@PathVariable String name) {

return userService.findUserByName(name);

}

@PostMapping(value = "/update")

public String updateUser(@RequestBody User user) {

userService.updateUser(user);

return "success";

}

@GetMapping(value = "/remove")

public String removeUser(@RequestParam String id) {

userService.removeUser(id);

return "success";

}

```

6. 测试运行

编写相应的测试类进行运行测试。运行成功之后,即可在 MongoDB 中看到插入的数据以及更新、查询等操作的数据结果。

总结:

本文介绍了 Spring Boot 整合 MongoDB 的具体实现步骤,涉及创建模型类、数据访问对象类、服务类、控制器类以及 MongoDB 数据库配置等,希望对读者有所帮助。

标签列表