Spring Pageable 排序使用

放几个阿里云的优惠链接 代金券 / 高性能服务器2折起 / 高性能服务器5折

Spring 使用Pageable参数使用以及Sort的使用 参考地址

  • 在Controller方法添加Pageable 参数
    这里spring会自动转换Url里传入的page和size参数为Pageable 对象,具体参考PageableHandlerMethodArgumentResolver类。
    @GetMapping("list")
    public Object listMerchantInformation(Pageable pageable) {
			...
    }
  • Url传入Sort需要的参数
    参考SortHandlerMethodArgumentResolver源码实现。
    默认参数规则为 sort=name,DESC
    name: 表示要排序的字段名称
    DESC 、 ASC: 正序和倒序
    排序默认为ASC
    sort=name
    sort=name,DESC
    sort=name1,DESC&sort=name2 表示同时排序多个字段
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当我们需要在JPA中使用多个排序条件时,可以使用Spring Data JPA中提供的`Pageable`接口来实现。`Pageable`接口可以指定排序、分页等参数,让我们能够方便地进行查询。 以下是一个使用`Pageable`进行多个排序条件查询的示例: ```java @Repository public interface UserRepository extends JpaRepository<User, Long> { List<User> findByStatus(String status, Pageable pageable); } ``` 在上面的代码中,我们定义了一个名为`findByStatus`的方法,该方法使用了`Pageable`接口作为参数,可以设置排序条件和分页参数。 我们可以在Service层中调用该方法,例如: ```java @Service public class UserService { @Autowired private UserRepository userRepository; public List<User> findUsersByStatus(String status) { // 按照年龄降序、姓名升序进行排序 Sort sort = Sort.by(Sort.Direction.DESC, "age").and(Sort.by(Sort.Direction.ASC, "name")); // 设置分页参数,获取前10条记录 Pageable pageable = PageRequest.of(0, 10, sort); return userRepository.findByStatus(status, pageable).getContent(); } } ``` 在上面的代码中,我们使用`Sort`对象来指定排序条件,按照年龄降序和姓名升序进行排序。然后我们创建了一个`Pageable`对象,设置了分页参数和排序条件。最后,我们调用`findByStatus`方法,传入`status`和`pageable`参数,获取前10条按照多个条件排序的用户列表。 需要注意的是,在使用`Pageable`进行多个排序条件查询时,排序条件的设置方式与使用自定义查询方法的方式略有不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值