最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot中JPA實現(xiàn)Sort排序的三種方式小結(jié)

 更新時間:2021年11月20日 11:01:49   作者:bladestone  
這篇文章主要介紹了SpringBoot中JPA實現(xiàn)Sort排序的三種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

引言: 在Spring Boot應(yīng)用中,基于數(shù)據(jù)某個字段進(jìn)行排序是一個非常常用的需求,這里將給出Sort的三種常用用法,基于分頁的應(yīng)用,大家可以各取所需,擇機(jī)使用。

環(huán)境說明

Spring 4.2 Spring Boot 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="t_ebusiness_card")
@Data
@EqualsAndHashCode(callSuper=true)
public class ECardEntity extends BaseEntity { 
    private static final long serialVersionUID = 6580526495176090890L;
    @Column
    private String name;
    @Column(name="zip_url")
    private String zipUrl;
    @Column(name="thumb_url")
    private String thumbUrl;
    @Column(name="seq_num")
    private int seqNum;
}

這里的seqNum是排序字段,基于升序來排序。

Repository的定義:

@Repository
public interface EBusinessCardRepository extends JpaRepository<ECardEntity, Long> {
   ///方法的定義
}

方法1: 基于特殊參數(shù)的排序

建立分頁對象:

Pageable pageable = new PageRequest(pageNum, size);

在Repository中定義相應(yīng)的方法:

Page<ECardEntity> findByOrderBySeqNumAsc(Pageable pageable);

這里使用默認(rèn)的字段拼接形成的方法名,從而自動解析形成對應(yīng)的方法。

方法2: 基于自定義的@Query進(jìn)行排序

Pageable的對象定義與方法1中相同。

在Repository中定義相應(yīng)的JPL語句:

@Query("select e from ECardEntity e ORDER BY e.seqNum ASC")
Page<ECardEntity> findInOrders(Pageable pageable);

方法3: 基于Pageable中的Sort字段

Pageable對象的聲明:

Sort sort = new Sort(Direction.ASC, "seqNum");
Pageable pageable = new PageRequest(pageNum, size, sort);

這里將Sort字段作為構(gòu)造方法的入口參數(shù),創(chuàng)建了Pageable對象。

在Repository無需聲明任何新的方法,直接使用JpaRepository中繼承而來的findAll(Pageable pageable)方法即可。

在Service中調(diào)用具體Repository中的方法如下:

Page<ECardEntity> eCardEntities = this.eCardRepo.findAll(pageable);

總結(jié)

這幾種方法都是非常簡單易用的,這里對于這個排序的簡單需求來說,方法是最為簡單的,無需在Repository進(jìn)行任何的方法聲明直接使用即可。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java使用Runnable接口創(chuàng)建線程的示例代碼

    Java使用Runnable接口創(chuàng)建線程的示例代碼

    在Java中,多線程編程是實現(xiàn)并發(fā)操作的重要手段之一,通過多線程,程序可以同時執(zhí)行多個任務(wù),從而提高應(yīng)用程序的效率和響應(yīng)速度,Java提供了多種創(chuàng)建線程的方式,其中實現(xiàn)Runnable接口是最常見且推薦的方式之一,本文將詳細(xì)介紹如何使用Runnable接口創(chuàng)建線程
    2025-02-02
  • 關(guān)于java中自定義注解的使用

    關(guān)于java中自定義注解的使用

    這篇文章主要介紹了關(guān)于java中自定義注解的使用,注解像一種修飾符一樣,應(yīng)用于包、類型、構(gòu)造方法、方法、成員變量、參數(shù)及本地變量的聲明語句中,需要的朋友可以參考下
    2023-07-07
  • springboot?log4j2日志框架整合與使用過程解析

    springboot?log4j2日志框架整合與使用過程解析

    這篇文章主要介紹了springboot?log4j2日志框架整合與使用,包括引入maven依賴和添加配置文件log4j2-spring.xml的相關(guān)知識,需要的朋友可以參考下
    2022-05-05
  • Mybatis?批量更新實體對象方式

    Mybatis?批量更新實體對象方式

    這篇文章主要介紹了Mybatis?批量更新實體對象方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Java新手教程之ArrayList的基本使用

    Java新手教程之ArrayList的基本使用

    ArrayList就是傳說中的動態(tài)數(shù)組,用MSDN中的說法,就是Array的復(fù)雜版本,這篇文章主要給大家介紹了關(guān)于Java新手教程之ArrayList基本使用的相關(guān)資料
    2021-06-06
  • Spring Boot 2.4版本前后的分組配置變化及對多環(huán)境配置結(jié)構(gòu)的影響(推薦)

    Spring Boot 2.4版本前后的分組配置變化及對多環(huán)境配置結(jié)構(gòu)的影響(推薦)

    這篇文章主要介紹了Spring Boot 2.4版本前后的分組配置變化及對多環(huán)境配置結(jié)構(gòu)的影響,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Java幾種常用的斷言風(fēng)格你怎么選

    Java幾種常用的斷言風(fēng)格你怎么選

    這篇文章主要介紹了Java幾種常用的斷言風(fēng)格你怎么選,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • SpringBoot整合Swagger3的流程詳解

    SpringBoot整合Swagger3的流程詳解

    這篇文章主要介紹了SpringBoot整合Swagger3的流程詳解,Swagger最核心的類就是Docket、它可以配置作者信息、掃描類型,在SwaggerConfig配置類,添加@Configuration和@EnableOpenApi注解,需要的朋友可以參考下
    2024-01-01
  • SpringBoot Controller Post接口單元測試示例

    SpringBoot Controller Post接口單元測試示例

    今天小編就為大家分享一篇關(guān)于SpringBoot Controller Post接口單元測試示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 在Java中實現(xiàn)讓線程按照自己指定的順序執(zhí)行

    在Java中實現(xiàn)讓線程按照自己指定的順序執(zhí)行

    這篇文章主要介紹了在Java中實現(xiàn)讓線程按照自己指定的順序執(zhí)行,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評論

安阳市| 盐边县| 岳普湖县| 靖宇县| 邯郸市| 宾川县| 宁都县| 成武县| 赫章县| 石嘴山市| 灌南县| 合江县| 湘潭县| 砚山县| 山西省| 繁峙县| 钟祥市| 云浮市| 西贡区| 丹凤县| 元氏县| 荔波县| 西贡区| 合山市| 曲麻莱县| 封丘县| 临猗县| 余姚市| 石河子市| 西华县| 英山县| 石城县| 墨竹工卡县| 任丘市| 宁海县| 柞水县| 纳雍县| 商洛市| 淮南市| 类乌齐县| 阿合奇县|