示例QueryWrapper 代码
时间: 2024-06-08 19:03:45 浏览: 133
`QueryWrapper`是Spring Data JPA库中的一个重要工具类,它提供了一种方便的方式来构建复杂的SQL查询条件,无需显式编写SQL语句。这个类使得在Java代码中动态构建和操作查询变得更加简洁和灵活。
以下是一个简单的`QueryWrapper`使用示例:
```java
import org.springframework.data.jpa.repository.query.QueryWrapper;
// 假设有一个UserRepository接口,其中的User是持久化对象
public interface UserRepository extends JpaRepository<User, Long> {
// 创建一个QueryWrapper实例
QueryWrapper<User> createUserQueryWrapper();
// 使用QueryWrapper设置查询条件
default List<User> findUsersByLastName(String lastName) {
QueryWrapper<User> wrapper = createUserQueryWrapper();
wrapper.like("lastName", `%${lastName}%`).eq("isActive", true);
return userRepository.findAll(wrapper);
}
// 设置更复杂的条件,例如多条件组合
default List<User> findUsersByNameAndAgeGreaterThan(int name, int age) {
QueryWrapper<User> wrapper = createUserQueryWrapper();
wrapper.eq("name", name).gt("age", age);
return userRepository.findAll(wrapper);
}
}
```
在这个例子中,`createUserQueryWrapper()`方法初始化了一个`QueryWrapper`,然后在`findUsersByLastName`和`findUsersByNameAndAgeGreaterThan`方法中,我们使用`like`、`eq`等方法动态设置查询条件,最后通过`userRepository.findAll(wrapper)`执行查询。
阅读全文