📜  mongorepository spring boot 自定义查询 - Java (1)

📅  最后修改于: 2023-12-03 15:03:02.585000             🧑  作者: Mango

MongoDBRepository Spring Boot自定义查询

MongoDBRepository是基于MongoDB的Spring Data项目的一部分,它提供了许多有用的方法来管理Mongo数据库。在本文中,我们将学习如何使用MongoDBRepository的自定义查询功能来访问Mongo数据库。

Repository定义

首先,我们需要定义一个Repository接口,该接口将继承MongoRepository类,并声明自定义查询方法。以下是一个示例接口:

@Repository
public interface UserRepository extends MongoRepository<User, String> {

    @Query("{ 'name' : ?0 }")
    List<User> findUsersByName(String name);

    @Query("{ 'age' : { $gt: ?0, $lt: ?1 } }")
    List<User> findUsersByAgeBetween(int minAge, int maxAge);

}

在上面的代码中,我们定义了两种自定义查询方法findUsersByName和findUsersByAgeBetween。这些方法使用Spring Data MongoDB的@Query注释来指定MongoDB的查询字符串。

自定义查询的使用

我们可以像使用Spring Data MongoDB的内置方法一样使用自定义查询方法。以下是一些使用自定义查询的示例:

@RestController
public class UserController {

    @Autowired
    private UserRepository userRepository;

    @GetMapping("/users/name/{name}")
    public List<User> getUsersByName(@PathVariable String name) {
        return userRepository.findUsersByName(name);
    }

    @GetMapping("/users/age/between")
    public List<User> getUsersByAgeBetween(@RequestParam int minAge, @RequestParam int maxAge) {
        return userRepository.findUsersByAgeBetween(minAge, maxAge);
    }

}

在上面的示例中,我们注入了UserRepository,然后使用它的自定义查询方法从MongoDB数据库中获取数据。

结论

MongoDBRepository的自定义查询功能使得访问MongoDB数据库变得容易。通过使用@Query注释,我们可以使用MongoDB的查询语言来编写自定义查询方法。使用自定义查询方法,我们可以轻松地从MongoDB数据库中获取数据并将其用于我们的应用程序。