spring data jpa 介面詳解
一、介面方法整理速查
下表針對於簡單查詢,即jparepository介面(繼承了crudrepository介面、pagingandsortingrepository介面)中的可訪問方法進行整理。(1)先按照功能進行分類整理,分為儲存、刪除、查詢單個、查詢多個、其他5類。(2)再將不建議使用的方法置灰,此類方法多為crudrepository介面、pagingandsortingrepository介面中定義,後來jparepository介面中又定義了替代方法,更方便使用,比如:查詢多個物件時,返回 list 比返回 iterable 更容易處理。
二、五個介面詳解
1、crudrepository介面。
其中t是要操作的實體類,id是實體類主鍵的型別。該介面提供了11個常用操作方法。
@norepositorybean3、jparepository介面。該介面繼承了pagingandsortingrepository介面。public inte***ce crudrepositoryextends repository
同時也繼承querybyexampleexecutor介面,這是個用「例項」進行查詢的介面,後續再寫文章詳細說明。
@norepositorybeanpublic inte***ce jparepositoryextends pagingandsortingrepository, querybyexampleexecutor
幾點說明:
(1)幾個查詢、及批量儲存方法,和 crudrepository 介面相比,返回的是 list,使用起來更方便。
(2)增加了 inbatch 刪除, 實際執行時,後台生成一條sql語句,效率更高些。相比較而言,crudrepository 介面的刪除方法,都是一條一條刪除的,即便是 deleteall 也是一條一條刪除的。
(3)增加了 getone() 方法,切記,該方法返回的是物件引用,當查詢的物件不存在時,它的值不是null。
4、jpaspecificationexecutor介面
該介面提供了對jpa criteria查詢(動態查詢)的支援。這個介面很有用,具體不粘原始碼了。
參考:
5、repository介面
這個介面是最基礎的介面,只是乙個標誌性的介面,沒有定義任何的方法,那這個介面有什麼用了?既然spring data jpa提供了這個介面,自然是有它的用處,例如,我們有一部分方法是不想對外提供的,比如我們只想提供增加和修改方法,不提供刪除方法,那麼前面的幾個介面都是做不到的,這個時候,我們就可以繼承這個介面,然後將crudrepository介面裡面相應的方法拷貝到repository介面就可以了。
goLang 方法定義
golang的方法定義 可以分為兩種 一種是 普通方法 func 方法名稱 引數列表 返回值列表 func echo info string 另一種是 根據型別 定義方法 func 別名 當然如果不想使用可以用 型別名稱 方法名稱 引數列表 返回值列表 根據型別定義。當然比較常見的還是 根據 構造體...
Scala方法定義
def max x int,y int int def main args array string unit else val result int max 100,20 printin result 1.方法定義 1 方法體中最後返回值可以使用 return 如果使用了 return 那麼法體的...
c 方法定義要求
獲取預設學員資訊 public string getstudent 學號 年齡 studentname,studentid,age return info 根據輸入的學員資訊返回資訊內容 學員姓名 學號 出生日期 返回完整的學員資訊 public string getstudentinfo stri...