spring中的分頁查詢

2021-09-27 15:16:51 字數 3004 閱讀 7793

可放置在引數中,為pageable物件指定預設值和排序方式

(

"/")

public string index

(// size: 每一頁顯示的資料數量

// sort: 排序的依據

// direction: 排序的方式

@pageabledefault

(size =

5,sort =

,direction = sort.direction.desc) pageable pageable,

model model

)

多用來和springdatajpa結合,進行分頁查詢,返回結果就是乙個page分頁物件

前端根據搜尋條件進行分頁查詢,後端用乙個物件來封裝前端的查詢條件,進行分頁條件查詢

封裝的前端查詢條件物件

// 部落格查詢的封裝物件

public

class

blogquery

controller層(

"/blogs/search"

)public string search

(// 指定預設的分頁方式

@pageabledefault

(size =

10,sort =

,direction = sort.direction.desc) pageable pageable,

blogquery blog,

// 前端的查詢條件物件

model model

)service層

@override

public page

listblog

(pageable pageable, blogquery blog)

// 根據blog物件中的type物件的id值進行查詢

// 因為id是long型別的,所以不存在空格字串的情況

if(blog.

gettypeid()

!= null)

if(blog.

isrecommend()

)// 把條件列表轉換成陣列

predicate[

] predicates = predicatelist.

toarray

(new

predicate

[predicatelist.

size()

]);// 通過條件資料進行查詢

cq.where

(predicates)

;return null;}}

;// 進行分頁條件查詢

page

all = repository.

findall

(blogspecification, pageable)

;return all;

}

前端使用page分頁物件獲取資料分頁資料

// 獲取部落格的總的條數

="ui orange header" th:text=

"$">

14<

/h2>

// 獲取分頁物件中的每乙個blog物件

="ui padded vertical segment" th:each=

"blog : $"

>

// 如果頁數大於1頁的話,就進行顯示

="ui bottom attached segment" th:if=

"$>1"

>

"#" th:href=

"@-1)}" th:unless=

"$"/a>

"#" th:href=

"@+1)}" th:unless=

"$"/a>

pageimpl extends chunk implements page

pageimpl 是 page介面的乙個實現類

/*

引數一: 通過分頁查詢查詢到的物件

引數二: 分頁物件

引數三: 物件(不是分頁物件)的總的數量

*/new

pageimpl

<

>

(arraylist, pageable, count)

;

示例

private page

returnresult (page

commentlist,pageable pageable)

// 獲取查詢物件的總的數量(非分頁查詢物件)

long count = commentrepository.

count()

;// 通過pageimpl<> 構造分頁物件

/* * 引數一: 查詢到的物件

* 引數二: 分頁物件

* 引數三: 資料的總的數量

* */

page

commentandblogs =

newpageimpl

<

>

(arraylist, pageable, count)

;return commentandblogs;

}

引數一: 從第幾頁開始查詢,當前為從第一頁開始查詢(寫作0)

引數二: 每頁顯示的條數

引數三: 排序方式

pagerequest.of(0, size, sort);

@override

public list

listrecommendblogtop

(integer size)

FireBird中的分頁查詢

今天要在firebird中使用分頁查詢功能,就開始犯愁,這個東西沒有oracle的rownum,也沒有sql server的top n,會是通過什麼方式分頁的呢?非常讓人無奈的是firebird的 上找不到新版的查詢語言文件。而我手頭的interbase 6.0 language refrence中...

Hibernate中的分頁查詢

一 hibernate分頁查詢 方法 setfirstresult 設定查詢開始的記錄 setmaxresults 設定每次查詢的條數 查詢全部文章的過載 分頁查詢 param currentpage 當前頁面 param maxresults 每頁最大條數 return public listfi...

mssql中的分頁查詢

mssql中的分頁查詢沒有mysql那麼方便,而且由於版本的原因,有些方法不通用,這裡寫一下比較通用的方法 使用top pagesize 處理,然後where 條件加上not in過濾不要的資訊就好了 例如 select top id,type,title,createtime from lyg s...