SpringBoot中JPA如何实现排序排序

  介绍

这篇文章将为大家详细讲解有关SpringBoot中JPA如何实现排序排序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

环境说明

4.2弹簧引导1.5.11 Java 8

前置说明

ECardEntity。java的定义:

import  javax.persistence.Column;   import  javax.persistence.Entity;   import  javax.persistence.Table;   import  com.jd.ai.fasion.util.BaseEntity;   import  lombok.Data;   import  lombok.EqualsAndHashCode;   @ entity   @ table (name=皌_ebusiness_card")   @ data   @EqualsAndHashCode (callSuper=true)   public  class  ECardEntity  extends  BaseEntity  {,   ,,,private  static  final  long  serialVersionUID =, 6580526495176090890 l;   ,,@ column   ,,,private  String 名称;   ,,,@ column (name=皕ip_url")   ,,,private  String  zipUrl;   ,,,@ column (name=皌humb_url")   ,,,private  String  thumbUrl;   ,,,@ column (name=皊eq_num")   ,,,private  int  seqNum;   }

这里的seqNum是排序字段,基于升序来排序。

存储库的定义:

@   public  interface  EBusinessCardRepository  extends  JpaRepository, {   ,,///方法的定义   }

方法1:基于特殊参数的排序

建立分页对象:

Pageable  Pageable =, new  PageRequest (pageNum,大小),

在存储库中定义相应的方法:

Page, findByOrderBySeqNumAsc (Pageable 可分页);

这里使用默认的字段拼接形成的方法名,从而自动解析形成对应的方法。

方法2:基于自定义的@Query进行排序

可分页的对象定义与方法1中相同。

在存储库中定义相应的喷气推进实验室语句:

@Query (“select  e 得到ECardEntity  e  ORDER  BY  e.seqNum  ASC")   Page

方法3:基于可分页中字的排序段

可分页对象的声明:

Sort  Sort =, new 排序(Direction.ASC,“seqNum");   Pageable  Pageable =, new  PageRequest (pageNum、,大小,排序),

这里将这种字段作为构造方法的入口参数,创建了可分页对象。

在存储库中无需声明任何新的方法,直接使用JpaRepository中继承而来的findAll(可分页可分页)方法即可。

在服务中调用具体库中的方法如下:

Page, eCardEntities =, this.eCardRepo.findAll(可分页);

关于“SpringBoot中JPA如何实现排序排序”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

SpringBoot中JPA如何实现排序排序