使用多條件查詢:
①實體類
//標明為實體類
@entity
//命名為一張表,如果db中沒有則新增一張表,若有則更新字段,
//name可以設定表名,若不設定,則與類同名
@table
(name=
"t_collection"
)public
class
collect
public long getid()
public
void
setid
(long id)
public long getuserid()
public
void
setuserid
(long userid)
public long getblogid()
public
void
setblogid
(long blogid)
public string gettitle()
public
void
settitle
(string title)
@override
public string tostring()
';}}
②dao層
//寫乙個repository 繼承jparepository, jpaspecificationexecutor兩個
//第乙個是用來呼叫jpa封裝好的sql語句,第二個是主角-多條件查詢構造器,多條件查詢的封裝
public
inte***ce
collectrepository
extends
jparepository
, jpaspecificationexecutor
③service層
寫乙個service介面,同樣的,如果是只是多條件查詢,可以不寫裡面的方法。
public
inte***ce
collectservice
④service層實現
由於篇幅有限,去掉了其他的方法實現,留下了今天的主角
//標註為service 並實現collectservice介面
@service
public
class
collectserviceimpl
implements
collectservice
},pageable);}
}
搞定: 只需要在controller中呼叫即可,可以通過model建立乙個model,呼叫addattribute()方法加入到model中,從前端獲取出來進行分頁操作。
搭配上:
function
loaddata()
]]*/
"/collect1",)
;}
②記得每一次都要呼叫多條件查詢的方法,然後只用區域性重新整理即可,返回的是區域性"mycollection :: collectlist"
③th:fragment=「collectlist」 進行table區域性重新整理
th
:fragment="collectlist" class="ui compact teal table">
ps:第一次進入的時候千萬不要區域性重新整理,而是寫另乙個方法是直接重新整理整個頁面,不然只重新整理區域性的話,那麼只會顯示區域性的資訊,其他的外觀就看不到了。
另外乙個例子:
@override
public page
listblog
(pageable pageable, blogquery blog)
if(blog.
gettypeid()
!= null)
if(blog.
isrecommend()
) cq.
where
(predicates.
toarray
(new
predicate
[predicates.
size()
]));
return null;}}
,pageable)
;}
還有一種:
@override
public page
listblog
(pageable pageable, blogquery blog)
if(blog.
gettypeid()
!= null)
if(blog.
isrecommend()
)//通過and方法拼接兩個predicate;
cb.and(cb.
like
(root.
get(
"title"),
"%"+blog.
gettitle()
+"%"
),cb.
equal
(root.
get(
"type").
get(
"id"
), blog.
gettypeid()
)); cq.
where
(predicates.
toarray
(new
predicate
[predicates.
size()
]));
return null;}}
,pageable)
;}
JPA 多表左連線多條件分頁查詢
業務場景 主表 訂單表,與客戶表 產品表 物流表存在一對一關係,對映欄位為id,現需要根據訂單編號 訂單日期 客戶名稱 客戶編號 產品名稱 產品編號 快遞單號查詢該筆訂單,需要支援模糊查詢和分頁。order實體類中的需要進行一對一關係對映 onetoone joincolumn name expre...
jpa 多條件模糊查詢,分頁並排序
jpa 多條件模糊查詢,分頁並排序很難嗎,這樣寫不就幾行 的事嗎?搞不明白你們寫的怎麼長篇大論花裡胡哨的,看的一臉懵逼。jpa多欄位模糊查詢,持久層欄位還是要一一對應的,但是你可以在service層處理一下,只用乙個字段接收,然後放到每個屬性上 repository 只根據使用者名稱 page fi...
JPA 多條件 多表查詢
jpa對於簡單的查詢操作確實很給力,但是涉及到多表 多條件 分頁的場景就不是很好實現了。可行的解決方案 1 多條件 public inte ce baserepositoryextends jparepository,jpaspecificationexecutor使用specification來實...