使用SpringJPA?直接實(shí)現(xiàn)count(*)
SpringJPA 直接實(shí)現(xiàn)count(*)
剛開(kāi)始使用JPA時(shí),基本都依賴(lài)@query(SQL)注解通過(guò)原生sql來(lái)實(shí)現(xiàn)
根據(jù)編號(hào)統(tǒng)計(jì)條數(shù):
方法一
@Query(" select count(t) from FollowerInfo t where investUserId = :invUserId")
Integer findFollowerNumberByInvUserId(@Param("invUserId") Long invUserId);
這種原生的方式,跟直接寫(xiě)SQL沒(méi)什么區(qū)別。雖然能實(shí)現(xiàn)功能,但是浪費(fèi)了JPA的簡(jiǎn)潔簡(jiǎn)化代碼的設(shè)計(jì)的優(yōu)點(diǎn)。
網(wǎng)上看到另外一個(gè)方法:
List findAll(Specification spec);
在repository層findAll,然后在service層封裝,獲取list.size()來(lái)處理總條數(shù)問(wèn)題。
這樣避免了寫(xiě)SQL語(yǔ)句。
今天看了一下CrudRepository的源碼 發(fā)現(xiàn)該接口源碼里面有一個(gè)函數(shù):
方法二
/**
* Returns the number of entities available.
*
* @return the number of entities
*/
long count();
于是繼承了CrudRepository 寫(xiě)了一個(gè)demo:
方法三
Long countByInvestUserId(Long investUserId);
一行代碼就全部搞定! 效果跟方法1一樣
(spring data jpa)jpa中使用count計(jì)數(shù)方法
spring data jpa中使用count計(jì)數(shù)方法很簡(jiǎn)單
直接在dao層寫(xiě)方法即可
int countByUidAndTenementId(String parentUid, String tenementId);
這樣即可根據(jù)傳入的字段查詢(xún)即可。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java swing實(shí)現(xiàn)的計(jì)算器功能完整實(shí)例
這篇文章主要介紹了Java swing實(shí)現(xiàn)的計(jì)算器功能,結(jié)合完整實(shí)例形式分析了java基于swing組件實(shí)現(xiàn)計(jì)算器布局與運(yùn)算功能的具體操作技巧,需要的朋友可以參考下2017-12-12
Java之NoClassDefFoundError的原因及分析
在Java開(kāi)發(fā)中,經(jīng)常會(huì)遇到ClassNotFoundException和NoClassDefFoundError異常,ClassNotFoundException發(fā)生在編譯時(shí)JVM無(wú)法找到類(lèi),而NoClassDefFoundError則發(fā)生在運(yùn)行時(shí)JVM無(wú)法加載類(lèi),這兩個(gè)異常雖然原因相似,但有本質(zhì)區(qū)別2024-09-09
SpringBoot視圖解析實(shí)現(xiàn)原理深入分析
視圖解析其實(shí)就是SpringBoot某一個(gè)controller的方法執(zhí)行完成之后,它是跳轉(zhuǎn)到那個(gè)頁(yè)面。由于我們springboot項(xiàng)目默認(rèn)打包為jar包,是形成壓縮包的形式,而jsp又不支持壓縮,所以我們SpringBoot不知JSP的,需要引入第三方模板引擎才可以處理2022-10-10
Java實(shí)現(xiàn)定時(shí)任務(wù)的方法總結(jié)
這篇文章主要為大家詳細(xì)介紹了Java中實(shí)現(xiàn)定時(shí)任務(wù)的常用7中方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的小伙伴可以參考一下2023-06-06
Spring源碼剖析之Spring處理循環(huán)依賴(lài)的問(wèn)題
大家都知道循環(huán)依賴(lài)依賴(lài)指的是Bean與Bean之間的依賴(lài)關(guān)系,循環(huán)依賴(lài)指的是兩個(gè)或者多個(gè)Bean相互依賴(lài),本文通過(guò)代碼示例給大家講解Spring處理循環(huán)依賴(lài)的問(wèn)題,感興趣的朋友一起看看吧2021-06-06
MyBatis?handleResultSet結(jié)果集解析過(guò)程示例
這篇文章主要為大家介紹了MyBatis?handleResultSet結(jié)果集解析過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Java設(shè)計(jì)模式之適配器模式的實(shí)現(xiàn)
這篇文章主要介紹了Java設(shè)計(jì)模式之適配器模式的實(shí)現(xiàn),適配器模式(Adapter Pattern)是作為兩個(gè)不兼容的接口之間的橋梁,這種類(lèi)型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它結(jié)合了兩個(gè)獨(dú)立接口的功能,需要的朋友可以參考下2023-11-11
java 獲取HttpRequest Header的幾種方法(必看篇)
下面小編就為大家?guī)?lái)一篇java 獲取HttpRequest Header的幾種方法(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09

