springData Jpa簡單查詢

2021-08-20 09:18:28 字數 1810 閱讀 3424

一、介面方法整理速查

下表針對於簡單查詢,即jparepository介面(繼承了crudrepository介面、pagingandsortingrepository介面)中的可訪問方法進行整理。(1)先按照功能進行分類整理,分為儲存、刪除、查詢單個、查詢多個、其他5類。(2)再將不建議使用的方法置灰,此類方法多為crudrepository介面、pagingandsortingrepository介面中定義,後來jparepository介面中又定義了替代方法,更方便使用,比如:查詢多個物件時,返回 list 比返回 iterable 更容易處理。

二、五個介面詳解 

1、crudrepository介面。

其中t是要操作的實體類,id是實體類主鍵的型別。該介面提供了11個常用操作方法。

@norepositorybean  

public

inte***ce

crudrepository

extends serializable> extends repository

2、pagingandsortingrepository介面。

該介面繼承了crudrepository介面,提供了兩個方法,實現了分頁和排序的功能了。

@norepositorybean  

public

inte***ce

pagingandsortingrepository

extends serializable> extends crudrepository

3、jparepository介面。

該介面繼承了pagingandsortingrepository介面。

同時也繼承querybyexampleexecutor介面,這是個用「例項」進行查詢的介面,後續再寫文章詳細說明。

@norepositorybean

public

inte***ce

jparepository

extends serializable>

extends pagingandsortingrepository, querybyexampleexecutor

幾點說明:

(1)幾個查詢、及批量儲存方法,和 crudrepository 介面相比,返回的是 list,使用起來更方便。

(2)增加了 inbatch 刪除, 實際執行時,後台生成一條sql語句,效率更高些。相比較而言,crudrepository 介面的刪除方法,都是一條一條刪除的,即便是 deleteall 也是一條一條刪除的。

(3)增加了 getone() 方法,切記,該方法返回的是物件引用,當查詢的物件不存在時,它的值不是null。

4、jpaspecificationexecutor介面

該介面提供了對jpa criteria查詢(動態查詢)的支援。這個介面很有用,具體不粘原始碼了。

參考:5、repository介面

這個介面是最基礎的介面,只是乙個標誌性的介面,沒有定義任何的方法,那這個介面有什麼用了?既然spring data jpa提供了這個介面,自然是有它的用處,例如,我們有一部分方法是不想對外提供的,比如我們只想提供增加和修改方法,不提供刪除方法,那麼前面的幾個介面都是做不到的,這個時候,我們就可以繼承這個介面,然後將crudrepository介面裡面相應的方法拷貝到repository介面就可以了。

Spring Data JPA簡單查詢介面方法速查

下表針對於簡單查詢,即jparepository介面 繼承了crudrepository介面 pagingandsortingrepository介面 中的可訪問方法進行整理。1 先按照功能進行分類整理,分為儲存 刪除 查詢單個 查詢多個 其他5類。2 再將不建議使用的方法置灰,此類方法多為crud...

spring data jpa實體繼承

spring jpa中我們要將sql對映到物件,尤其是在spring boot這種高度自動化的環境下使用,大量的最優目錄結構與命名規則可以大大降低配置,約定大於配置貫穿其中。例如我們定義查詢dao,繼承jparepository即可。然後返回的物件,我們可以定義model entity table ...

SpringData JPA分頁查詢

首先我們需要知道springdata jpa 的幾個介面 其實看名字就大概懂了,也可以很方便的使用 首先我們的持久化層繼承jparepository,相當於繼承了增刪改查的持久化層以及分頁查詢的持久化層 所以如果我們要使用分頁查詢 我們只需要直接呼叫 由一開始的圖也可以看到pageable的其中乙個...