springboot集成spring data jpa使用排序查询(gradle)

排序

JpaRepository中的api

/*
 * (non-Javadoc)
 * @see org.springframework.data.repository.PagingAndSortingRepository#findAll(org.springframework.data.domain.Sort)
 */
@Override
List<T> findAll(Sort sort);

注:若findAll不填参数,可调用List findAll(); 返回结果为数据表中的所有数据

遇到的坑

在springboot2.2.1(含)以上的版本Sort已经不能再实例化了,构造方法已经是私有的了!

以按年龄降序查询所有用户信息

原调用写法为:

//先定义 Order规则
//Direction.DESC 表示倒序
//"age" 表示对id 进行倒序排序
Sort.Order order = new Sort.Order(Sort.Direction.DESC, "age");
Sort sort = new Sort(order);//本行Sort构造方法报错
var allUsersSort=userRepository.findAll(sort);
allUsersSort.forEach(System.out::println);

新写法为:

var allUsersSort=userRepository.findAll(Sort.by(Sort.Direction.DESC,"age"));
allUsersSort.forEach(System.out::println);

运行结果:

//结果上部省略,一下是返回结果的最后,可以看见输出顺序已按age降序排列
User(name=lzc39, pass=123, age=123, email=aksjlaklsdf, id=51)
User(name=lzc40, pass=123, age=123, email=aksjlaklsdf, id=52)
User(name=lzc41, pass=123, age=123, email=aksjlaklsdf, id=53)
User(name=tzy, pass=321, age=23, email=ksdja, id=4)
User(name=dk, pass=123, age=22, email=asflh, id=3)
User(name=lxj, pass=123, age=21, email=jksdf, id=2)
User(name=lzc19, pass=123, age=5, email=aksjlaklsdf, id=31)
User(name=lzc17, pass=123, age=4, email=aksjlaklsdf, id=29)
User(name=lzc10, pass=123, age=3, email=aksjlaklsdf, id=22)
User(name=lzc, pass=960929, age=2, email=aksjlaklsdf, id=11)
User(name=lzc2, pass=123, age=1, email=aksjlaklsdf, id=14)
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值