Query註解使用詳情

2021-10-11 11:41:13 字數 2154 閱讀 1548

value: 取值,要麼使用原生sql,要麼使用jpql

nativequery:表示是否採用原生sql,諸如select * from tablename

1、使用:形參名

示例:單個形參的情況

多個形參的情況:

2、使用?數值,數值表示形參位置,1表示第乙個形參,依次內推

示例:單個形參的情況:

多個形參的情況:

特殊情況:數值也可不寫,若不寫具體的數值,預設是從1開始遞增,如下圖示例:

3、使用@param("引數名")+:引數名

通常使用@param註解都是在多個形參的情況下使用

4、獲取實體類名稱,使用#

使用@query註解實現刪、改、查、增的示例,如下所示:

@modifying

@transactional

@query

(value =

"delete from user where id = ?1"

)void

deletebyuserid

(integer id)

;

?後面的數值1,表示第乙個形參的值,以此類推,如果方法有多個形參,數值也會依次遞增,特殊情況,數值也可不寫,若不寫具體的數值,預設是從1開始遞增

@modifying

@transactional

@query

("update user set email = ?1 where id = ?2"

)void

updateuser

(string email,integer id)

;

@query

(value =

"select * from tb_user where email like concat('%',?2,'%') and username like concat('%',?1,'%') "

,nativequery =

true

)user findbyusernameandemail

( string username, string email)

;

@modifying

@transactional

@query

(value =

"insert into tb_user(email,id_card,username,wage) values (:email,:idcard,:username,:wage)"

,nativequery =

true

)void

insertuser

(string email,string idcard,string username,double wage)

;

Query註解簡單使用

nativequery true 本地查詢,就是使用原生的sql語句,直接查詢資料表名,而不是實體類物件 根據資料庫的不同,在sql的語法或結構方面可能有所區別 進行查詢資料庫的操作。不設定nativequery true 時,sql語句中的表名和欄位名時實體類名和實體類中的欄位名,兩種方式作用一樣...

springData學習(二) Query註解詳解

query註解查詢適用於所查詢的資料無法通過關鍵字查詢得到結果的查詢。這種查詢可以擺脫像關鍵字查詢那樣的約束,將查詢直接在相應的介面方法中宣告,結構更為清晰,這是spring data的特有實現。1.查詢id最大的資料 需要注意的是from後面跟的是與表名相對應的實體類名 同時返回值不能寫 retu...

spring常用註解詳情

用註解來向spring容器註冊bean。1 repository標註在持久層,即dao,用於標註資料訪問。2 service標註在業務層,即service,用於標註業務邏輯。3 controller標註在控制層。4 component當不明確這個類屬於那個層的時候,可以使用 component進行標...