剛開始使用jpa時,基本都依賴@query(sql)註解通過原生sql來實現
根據編號統計條數:
方法一:
@query(" select
count(t) from followerinfo t where investuserid = :invuserid")
integer findfollowernumberbyinvuserid(@param("invuserid") long invuserid);
這種原生的方式,跟直接寫sql沒什麼區別。雖然能實現功能,但是浪費了jpa的簡潔簡化**的設計的優點。
網上看到另外乙個方法:
list findall(specification spec);
在repository層findall,然後在service層封裝,獲取list.size()來處理總條數問題。
這樣避免了寫sql語句。
今天看了一下crudrepository的原始碼 發現該介面原始碼裡面有乙個函式:
方法二:
/**
* returns the number of entities **ailable.
* *@return the number of entities
*/long count();
於是繼承了crudrepository 寫了乙個demo:
方法三:
long countbyinvestuserid(long investuserid);
一行**就全部搞定! 效果跟方法1一樣 pig中對元組不能直接使用聚集函式(如COUNT)
pig中想要使用統計等aggregate函式,必須先group,再進行。而如何設計group也就成了乙個相對麻煩的過程,這給程式設計造成了不小的麻煩。所以pig很強大,但其語法還是有些晦澀,存在很大進步空間。pig和sql不同,在sql中,可以直接對當前表使用aggregate函式,如count,進...
Koa原始碼分析(二) co的實現
koa原始碼分析 一 generator koa原始碼分析 二 co的實現 koa原始碼分析 三 middleware機制的實現 大名鼎鼎的co是什麼?它是tj大神基於es6的一些新特性開發的非同步流程控制庫,基於它所開發的koa被視為未來主流的web框架。koa基於co實現,而co又是使用了es6...
直接排序演算法python實現
一直對演算法不是很上心,今天跟同事聊天,了解到演算法很吃香呀!剛開始學習python,就乙個乙個的演算法來吧!希望有時間能堅持下去!大家別拍磚!我只是留個筆記在這裡。直接排序法 直接選擇排序法的演算法是這樣的,首先選出前n個元素中的最小 大 者,如果這個最小 大 者不是第1個元素,則與第1個元素交換...