八 Spring Data JPA多條件分頁查詢

2021-09-25 23:31:52 字數 3015 閱讀 7748

多條件查詢

public page

pagequery

(label label, integer page, integer size)

//標籤狀態

if(stringutils.

isnotblank

(label.

getstate()

))predicate[

] parr =

newpredicate

[list.

size()

];parr = list.

toarray

(parr)

;return cb.

and(parr);}

};return labeldao.

findall

(specification, pageable);}

}

/**

* 根據條件查詢

* @param searchmap

* @return

*/(value=

"/search"

,method = requestmethod.post)

public result findsearch

(@requestbody map searchmap)

//recruitservice

public list

findsearch

(map wheremap)

private specification

createspecification

(map searchmap)

// 職位名稱

if(stringutils.

isnotblank

((string)searchmap.

get(

"jobname"))

)// 薪資範圍

if(stringutils.

isnotblank

((string)searchmap.

get(

"salary"))

)// 經驗要求

if(stringutils.

isnotblank

((string)searchmap.

get(

"condition"))

)// 學歷要求

if(stringutils.

isnotblank

((string)searchmap.

get(

"education"))

)// 任職方式

if(stringutils.

isnotblank

((string)searchmap.

get(

"type"))

)// 辦公位址

if(stringutils.

isnotblank

((string)searchmap.

get(

"address"))

)// 企業id

if(stringutils.

isnotblank

((string)searchmap.

get(

"eid"))

)// 狀態

if(stringutils.

isnotblank

((string)searchmap.

get(

"state"))

)// **

if(stringutils.

isnotblank

((string)searchmap.

get(

"url"))

)// 標籤

if(stringutils.

isnotblank

((string)searchmap.

get(

"label"))

)// 職位描述

if(stringutils.

isnotblank

((string)searchmap.

get(

"content1"))

)// 職位要求

if(stringutils.

isnotblank

((string)searchmap.

get(

"content2"))

)return cb.

and( predicatelist.

toarray

(new

predicate

[predicatelist.

size()

]));

}};}

帶分頁引數的多添件查詢

/**

* 分頁+多條件查詢

* @param searchmap 查詢條件封裝

* @param page 頁碼

* @param size 頁大小

* @return 分頁結果

*/(value=

"/search//"

,method=requestmethod.post)

public result findsearch

(@requestbody map searchmap ,

@pathvariable

int page,

@pathvariable

int size)

//recruitservice

public page

findsearch

(map wheremap,

int page,

int size)

//recruitdao

public

inte***ce

recruitdao

extends

jparepository

,jpaspecificationexecutor

spring data jpa實體繼承

spring jpa中我們要將sql對映到物件,尤其是在spring boot這種高度自動化的環境下使用,大量的最優目錄結構與命名規則可以大大降低配置,約定大於配置貫穿其中。例如我們定義查詢dao,繼承jparepository即可。然後返回的物件,我們可以定義model entity table ...

SpringData JPA分頁查詢

首先我們需要知道springdata jpa 的幾個介面 其實看名字就大概懂了,也可以很方便的使用 首先我們的持久化層繼承jparepository,相當於繼承了增刪改查的持久化層以及分頁查詢的持久化層 所以如果我們要使用分頁查詢 我們只需要直接呼叫 由一開始的圖也可以看到pageable的其中乙個...

springData Jpa簡單查詢

一 介面方法整理速查 下表針對於簡單查詢,即jparepository介面 繼承了crudrepository介面 pagingandsortingrepository介面 中的可訪問方法進行整理。1 先按照功能進行分類整理,分為儲存 刪除 查詢單個 查詢多個 其他5類。2 再將不建議使用的方法置灰...