Spring Data JPA實現分頁Pageable的實例代碼
在JPA中提供了很方便的分頁功能,那就是Pageable(org.springframework.data.domain.Pageable)以及它的實現類PageRequest(org.springframework.data.domain.PageRequest),詳細的可以見示例代碼。
1、改變CustomerRepository方法
/**
* 一個參數,匹配兩個字段
* @param name2
* @Param pageable 分頁參數
* @return
* 這里Param的值和=:后面的參數匹配,但不需要和方法名對應的參數值對應
* 這里增加了@QueryHints注解,是給查詢添加一些額外的提示
* 比如當前的name值為HINT_COMMENT是在查詢的時候帶上一些備注信息
*/
@QueryHints(value = { @QueryHint(name = HINT_COMMENT, value = "a query for pageable")})
@Query("select c from Customer c where c.firstName=:name or c.lastName=:name")
Page<Customer> findByName(@Param("name") String name2,Pageable pageable);
2、增加CustomerController方法pageable
/**
* 分頁
* 應用查詢提示@QueryHints,這里是在查詢的適合增加了一個comment
* 查詢結果是lastName和firstName都是bauer這個值的數據
*/
@RequestMapping("/pageable")
public void pageable(){
//Pageable是接口,PageRequest是接口實現
//PageRequest的對象構造函數有多個,page是頁數,初始值是0,size是查詢結果的條數,后兩個參數參考Sort對象的構造方法
Pageable pageable = new PageRequest(0,3, Sort.Direction.DESC,"id");
Page<Customer> page = repository.findByName("bauer",pageable);
//查詢結果總行數
System.out.println(page.getTotalElements());
//按照當前分頁大小,總頁數
System.out.println(page.getTotalPages());
//按照當前頁數、分頁大小,查出的分頁結果集合
for (Customer customer: page.getContent()) {
System.out.println(customer.toString());
}
System.out.println("-------------------------------------------");
}
從示例代碼的注釋當中可以看到Page對象的相關參數及值的說明,更詳細的用法,參考PageRequest源碼。
小結:怎么樣,是不是很簡單很方便?!
參考:
官方文檔,http://docs.spring.io/spring-data/jpa/docs/current/reference/html/
DEMO,https://github.com/icnws/spring-data-jpa-demo
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
解決mybatis 執(zhí)行mapper的方法時報空指針問題
這篇文章主要介紹了解決mybatis 執(zhí)行mapper的方法時報空指針問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07
使用springboot每日推送早安問候語到用戶微信的全過程
近期網上又出現一股給女朋友做微信公眾號推送的潮流,所以這篇文章主要給大家介紹了關于如何使用springboot每日推送早安問候語到用戶微信的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下2022-11-11
解決Spring?Security集成knife4j訪問接口文檔出現403的問題
這篇文章主要給大家介紹了如何解決Spring?Security集成knife4j訪問接口文檔出現403的問題,文中有詳細的解決方案,有需要的朋友可以參考閱讀下2023-07-07
Spring框架學習之Spring?@Autowired實現自動裝配的代碼
自動裝配就是說,你不用手動實現bean之間的組合關系,只要使用了@Autowired注解,程序就會自動的注入這個需要的bean,前提是你的Spring容器有這個bean,這篇文章主要介紹了Spring?@Autowired實現自動裝配,需要的朋友可以參考下2021-12-12

