jpa 自定義sql根據年月統計資料

2021-10-07 17:37:23 字數 1355 閱讀 1346

1.簡介

公司想要根據年月分,去分某字段的總和。因為我們所用的jpa就寫了簡單的sql。

但是有乙個發現了個問題,jpa呢是不能夠直接根據你的模型返回所自定義的字段的。

就比如:

你的sql只返回其中乙個或者兩個字段,你是要用map去接返回值的。這也算是jpa不太方便的乙個點吧。

不過很多大神研究原始碼發現,我們是可以用介面去接返回值的。為什麼呢?留下你的關注吧,後期會出原始碼解析。

2. 簡單的sql
@query

(nativequery =

true

, value =

"select to_char(make_code_time, 'yyyy-mm') as makecodetime, sum(total_count) as totalcount \n"

+"from client_orders \n"

+"where (make_code_time >= ?1 or coalesce(?1, '') = '') \n"

+"and (make_code_time <= ?2 or coalesce(?2, '') = '') \n"

+"group makecodetime"

, countquery =

"select count(1) \n"

+"from client_orders \n"

+"where (make_code_time >= ?1 or coalesce(?1, '') = '') \n"

+"and (make_code_time <= ?2 or coalesce(?2, '') = '') \n"

+"group by makecodetime"

) page

getmonthmakecode

(date starttime, date endtime, pageable pageable)

;

sql**大概如上。切記要注意格式,注意格式,注意格式!!!

我這裡是根據年月日獲取碼統計

查詢結果格式:

| makecodetime | totalcount |

|2020-07

|3060||

2020-06

|10120||

2020-05

|32400

|

中國有句古話叫做」比葫蘆畫瓢「,相信你一定能得到你想要的。

? 留下個關注吧、這裡都是職場上用得上的,不是一些乾貨底層。

jpa自定義sql的三種方式

1 在repository介面上註解 query引數 1 query select o from agentinfo o where o.userid 1 and o.balance 0 2 query value select from fl agentinfo a inner join sele...

JPA中自定義查詢語句

org.springframework.bootgroupid spring boot starter parentartifactid 2.0.4.releaseversion relativepath parent 實體類 entity table name sensitive apimodel...

SQL自定義函式

建立使用者自定義函式 標量函式 create function dbo.bmrs bmh as int returns int asbegin declare bmrs int select bmrs count 工號 from 銷售人員where 部門號 bmh return bmrs endgo...