QueryWrapper.between用法
时间: 2024-08-26 13:00:48 浏览: 31
在Spring Data JPA中,`QueryWrapper`是一个方便的工具类,用于构造复杂的查询条件,其中`between`方法用于设置范围查询。它通常用于`Specification`接口,帮助我们在查询中指定字段值应在两个给定范围内。`QueryWrapper.between`的基本用法如下:
```java
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.jpa.repository.Query;
public class UserRepository extends JpaRepository<User, Long> {
public Specification<User> findUsersByAgeRange(int lowerBound, int upperBound) {
return (root, criteriaQuery, criteriaBuilder) -> {
Expression<Integer> ageExp = criteriaBuilder.equal(root.get("age"), root.get("age"));
return criteriaBuilder.between(ageExp, lowerBound, upperBound);
};
}
@Query(value = "SELECT * FROM users WHERE age BETWEEN ?1 AND ?2", nativeQuery = true)
List<User> getUsersBetweenAgeRangeNative(int lowerBound, int upperBound);
}
```
在这个例子中,`findUsersByAgeRange`方法接受年龄的下限和上限,然后返回一个`Specification`,表示年龄字段的值应该在这两个值之间。`@Query`注解用于在执行时直接使用SQL查询,如果不需要动态SQL,也可以使用这种方式。