介绍
这篇文章将为大家详细讲解有关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如何实现排序排序