欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

spring data JPA 中的多屬性排序方式

 更新時間:2022年02月23日 14:56:33   作者:Mark-斯  
這篇文章主要介紹了spring data JPA 中的多屬性排序方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

spring data JPA的多屬性排序

在此介紹我所用的一種方式:

第一步,引包

import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Order;

第二步,service方法代碼

  @Override
? ? public Page<TurnOverRecord> findAll(Integer pageNum, Integer pageSize, TurnOverRecord turnOverRecord) {
    //多屬性排序
    //先按isTurnOver從小到大升序,再按turnOverTime升序
? ? ? ? List< Order> orders=new ArrayList< Order>();
? ? ? ? orders.add( new Order(Sort.Direction. ASC, "isTurnOver"));
? ? ? ? orders.add( new Order(Sort.Direction. ASC, "turnOverTime"));
? ? ? ? Pageable pageable= new PageRequest(pageNum - 1, pageSize, new Sort(orders));
? ? ? ? Specification<TurnOverRecord> specification = new Specification<TurnOverRecord>() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public Predicate toPredicate(Root<TurnOverRecord> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
? ? ? ? ? ? ? ? Predicate predicate = cb.conjunction();
? ? ? ? ? ? ? ? // 單屬性排序
          // query.orderBy(cb.asc(root.get("isTurnOver")));
          // query.orderBy(cb.desc(root.get("id")));
          // query.groupBy(root.get("id"));
? ? ? ? ? ? ? ? query.distinct(true);
? ? ? ? ? ? ? ? //基礎(chǔ)條件
? ? ? ? ? ? ? ? predicate.getExpressions().add(cb.equal(root.get("flag"), 1));
? ? ? ? ? ? ? ? if (turnOverRecord != null) {
? ? ? ? ? ? ? ? ? ? 其他篩選條件
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? return predicate;
? ? ? ? ? ? }
? ? ? ? };
? ? ? ? return turnOverRecordDao.findAll(specification, pageable);
? ? }

spring data JPA排序問題(order by)

1:可以傳遞Pageable對象,其中Pageable可以包含Sort參數(shù)

2:可以傳遞Sort對象

3:可以在@Query中自己寫sql/hql語句  手動添加order by

第一種和第二種方式的修改之后不用重啟eclipse

第三種方式雖然在直覺上是最簡單的,但是卻需要重啟eclipse.

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

相關(guān)文章

  • 深入分析Spring BeanDefinition的構(gòu)造元信息

    深入分析Spring BeanDefinition的構(gòu)造元信息

    Bean Definition是一個包含Bean元數(shù)據(jù)的對象,它描述了如何創(chuàng)建Bean實例、Bean屬性的值以及Bean之間的依賴關(guān)系,本文將帶大家深入分析Spring BeanDefinition的構(gòu)造元信息,需要的朋友可以參考下
    2024-01-01
  • SpringCloud+MyBatis分頁處理(前后端分離)

    SpringCloud+MyBatis分頁處理(前后端分離)

    這篇文章主要為大家詳細(xì)介紹了SpringCloud+MyBatis分頁處理,前后端分離,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • java利用pdfbox+poi往pdf插入數(shù)據(jù)

    java利用pdfbox+poi往pdf插入數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于java利用pdfbox+poi如何往pdf插入數(shù)據(jù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-02-02
  • Springboot如何同時裝配兩個相同類型數(shù)據(jù)庫

    Springboot如何同時裝配兩個相同類型數(shù)據(jù)庫

    這篇文章主要介紹了Springboot如何同時裝配兩個相同類型數(shù)據(jù)庫,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • Springboot配置文件內(nèi)容加密代碼實例

    Springboot配置文件內(nèi)容加密代碼實例

    這篇文章主要介紹了Springboot配置文件內(nèi)容加密代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • SpringBoot使用?Sleuth?進(jìn)行分布式跟蹤的過程分析

    SpringBoot使用?Sleuth?進(jìn)行分布式跟蹤的過程分析

    Spring Boot Sleuth是一個分布式跟蹤解決方案,它可以幫助您在分布式系統(tǒng)中跟蹤請求并分析性能問題,Spring Boot Sleuth是Spring Cloud的一部分,它提供了分布式跟蹤的功能,本文將介紹如何在Spring Boot應(yīng)用程序中使用Sleuth進(jìn)行分布式跟蹤,感興趣的朋友一起看看吧
    2023-10-10
  • Java Spring注解之@Async的基本用法和示例

    Java Spring注解之@Async的基本用法和示例

    Spring為任務(wù)調(diào)度與異步方法執(zhí)行提供了注解支持,通過在方法上設(shè)置@Async注解,可使得方法被異步調(diào)用,下面這篇文章主要給大家介紹了關(guān)于Java Spring注解之@Async的基本用法和示例,需要的朋友可以參考下
    2022-03-03
  • springboot中如何替換class文件

    springboot中如何替換class文件

    這篇文章主要介紹了springboot中如何替換class文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 詳解spring boot引入外部jar包的坑

    詳解spring boot引入外部jar包的坑

    本篇文章主要介紹了spring boot引入外部jar的坑,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • 關(guān)于SpringBoot+Mybatis報MapperScan.factoryBean()問題

    關(guān)于SpringBoot+Mybatis報MapperScan.factoryBean()問題

    解決SpringBoot+Mybatis中的MapperScan.factoryBean()問題,讓你的項目運(yùn)行更順暢!本指南將帶你一步步解決這個問題,讓你的開發(fā)過程更加高效,不要錯過這個實用指南,快來一探究竟吧!
    2024-02-02

最新評論