MongoRepository findAll(Example<S> example) 示例
时间: 2023-07-08 20:37:02 浏览: 98
MongoRepository 的 `findAll(Example<S> example)` 方法是根据给定的示例对象来查询符合条件的所有记录。
示例对象是一个包含查询条件的实体对象,它的属性值表示需要查询的条件。MongoRepository 会自动从示例对象中提取属性值,并将其用于生成查询语句。例如,示例对象中的一个属性为 `name`,它的值为 `"张三"`,则查询语句会查询 `name` 属性等于 `"张三"` 的记录。
下面是一个示例代码:
```java
public class User {
private String name;
private Integer age;
// 省略 getter 和 setter 方法
}
// 定义 UserRepository 接口
public interface UserRepository extends MongoRepository<User, String> {
List<User> findAll(Example<User> example);
}
// 使用示例对象查询
User exampleUser = new User();
exampleUser.setName("张三");
Example<User> example = Example.of(exampleUser);
List<User> users = userRepository.findAll(example);
```
上述代码会查询所有 `name` 属性等于 `"张三"` 的记录,并返回一个 `List<User>` 对象。
需要注意的是,MongoRepository 只会查询示例对象中不为 `null` 的属性值,因此可以通过设置属性为 `null` 来忽略某些查询条件。此外,也可以通过设置 `Matcher` 对象来指定查询条件的匹配方式。
阅读全文