使用SpringJPA?直接實現(xiàn)count(*)
SpringJPA 直接實現(xiàn)count(*)
剛開始使用JPA時,基本都依賴@query(SQL)注解通過原生sql來實現(xiàn)
根據(jù)編號統(tǒng)計條數(shù):
方法一
@Query(" select count(t) from FollowerInfo t where investUserId = :invUserId")
Integer findFollowerNumberByInvUserId(@Param("invUserId") Long invUserId);
這種原生的方式,跟直接寫SQL沒什么區(qū)別。雖然能實現(xiàn)功能,但是浪費了JPA的簡潔簡化代碼的設(shè)計的優(yōu)點。
網(wǎng)上看到另外一個方法:
List findAll(Specification spec);
在repository層findAll,然后在service層封裝,獲取list.size()來處理總條數(shù)問題。
這樣避免了寫SQL語句。
今天看了一下CrudRepository的源碼 發(fā)現(xiàn)該接口源碼里面有一個函數(shù):
方法二
/**
* Returns the number of entities available.
*
* @return the number of entities
*/
long count();
于是繼承了CrudRepository 寫了一個demo:
方法三
Long countByInvestUserId(Long investUserId);
一行代碼就全部搞定! 效果跟方法1一樣
(spring data jpa)jpa中使用count計數(shù)方法
spring data jpa中使用count計數(shù)方法很簡單
直接在dao層寫方法即可
int countByUidAndTenementId(String parentUid, String tenementId);
這樣即可根據(jù)傳入的字段查詢即可。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java之NoClassDefFoundError的原因及分析
在Java開發(fā)中,經(jīng)常會遇到ClassNotFoundException和NoClassDefFoundError異常,ClassNotFoundException發(fā)生在編譯時JVM無法找到類,而NoClassDefFoundError則發(fā)生在運行時JVM無法加載類,這兩個異常雖然原因相似,但有本質(zhì)區(qū)別2024-09-09
Java實現(xiàn)定時任務(wù)的方法總結(jié)
這篇文章主要為大家詳細介紹了Java中實現(xiàn)定時任務(wù)的常用7中方法,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的小伙伴可以參考一下2023-06-06
Spring源碼剖析之Spring處理循環(huán)依賴的問題
大家都知道循環(huán)依賴依賴指的是Bean與Bean之間的依賴關(guān)系,循環(huán)依賴指的是兩個或者多個Bean相互依賴,本文通過代碼示例給大家講解Spring處理循環(huán)依賴的問題,感興趣的朋友一起看看吧2021-06-06
MyBatis?handleResultSet結(jié)果集解析過程示例
這篇文章主要為大家介紹了MyBatis?handleResultSet結(jié)果集解析過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02
java 獲取HttpRequest Header的幾種方法(必看篇)
下面小編就為大家?guī)硪黄猨ava 獲取HttpRequest Header的幾種方法(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09

