我目前正在使用Spring JPA,按照这里描述的方法利用Sorting和Pagination -
如何通过Spring data JPA查询具有排序和分页的数据?
现在我的问题是如何向此应用“where”子句?
例如:
where PRODUCT_NAME='abc';
我目前正在使用Spring JPA,按照这里描述的方法利用Sorting和Pagination -
如何通过Spring data JPA查询具有排序和分页的数据?
现在我的问题是如何向此应用“where”子句?
例如:
where PRODUCT_NAME='abc';
只需在您的存储库接口中创建一个查询方法即可。
请看文档这里。
添加带有分页和where子句的查询方法。
Page<User> findByLastname(String lastname, Pageable pageable);
您可以通过“lastname”属性查找用户并配置分页设置。
要获取Spring Data JPA应用排序、分页和where子句检查,请查看以下代码
实体类
@Entity
@Table(name = "users")
public class User{
private String name;
private Integer id;
private String email;
// 添加必要的setter和getter方法//
}
仓库类
@Repository("userRepository")
@Transactional`
public interface UserRepository extends JpaRepository<User, Integer>{
}
服务层使用Example对象传递where子句,同时使用Pagable和Sort类进行分页和排序。我们将在控制器中实现Pageable以注入排序逻辑,然后将该Pagable对象传递到服务层。
@Service
public class UserService{
public Page<User> getUserListPaginated(`EXAMPLE<User>` searchTerm, Pageable pageable) {
return userRepo.findAll(searchTerm,pageable);
}
}
Example<T>
如果其值为null,则不接受该属性。因此,我在实体类中使用了Integer id,因为我可以在第一次调用时将其值设置为null。