springdata jpa 關於分頁@Query問題


關於springdata jpa 分頁問題相信很多小伙伴都遇到過,只要表中數量到達分頁條件就會報錯

廢話少說直接上代碼:

@Query(nativeQuery = true,
value = "select id, company_id,address_name,address_detail,phone_num, regist_date,update_date,delete_flag,update_id FROM delivery_address WHERE delete_flag='0' AND IF ( ?1!=1, company_id = ?1, 1=1) AND IF ( ?2 is null,1=1,address_name LIKE CONCAT('%',?2,'%'))",
countQuery = "select count(id) FROM delivery_address WHERE delete_flag='0' AND IF ( ?1!=1, company_id = ?1, 1=1) AND IF ( ?2 is null,1=1,address_name LIKE CONCAT('%',?2,'%'))")
public Page<DeliveryAddress> findAllByCompanyId(Integer companyId,String addressName,Pageable pageable);

其中

1.@Query 這個是jpa自定定義sql語句時用到的注解

2.nativeQuery代表value中的語句為 sql語句,而非hql語句

3. countQuery代表當前分頁的總頁數,如果不設置這個參數相信你的分頁一定不順利。

4.該語句中還有一些條件判斷等,要學習的小伙伴自行研究

轉載需表明來源,謝謝配合,侵權必究


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM