溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JPA怎么使用findBy方法自定義查詢

發(fā)布時間:2021-11-25 13:15:18 來源:億速云 閱讀:288 作者:小新 欄目:開發(fā)技術

這篇文章給大家分享的是有關JPA怎么使用findBy方法自定義查詢的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

JPA使用findBy方法自定義查詢

最近在項目中使用spring boot+jpa的方式來訪問數(shù)據(jù)庫,例如:本項目中的課程目錄詳情表中包括了外鍵課程詳情ID,想通過課程詳情ID查找出所有關聯(lián)的課程目錄詳情

在JPA中使用findBy方法自定義查詢

JPA怎么使用findBy方法自定義查詢

在postman測試請求的接口如下

JPA怎么使用findBy方法自定義查詢

這樣就很方便的查詢所需要的數(shù)據(jù),不用再寫接口去過濾了。

JPA的findBy語法整理

前提操作

  • 創(chuàng)建一個可持久化的實體類

  • dao層繼承JpaRepository<T,ID>

T:實體類

ID:實體類的主鍵類型

例:

public interface SysUserRespository extends JpaRepository<SysUser,Long> {}

JPA中支持的關鍵詞

  • And:等價于 SQL 中的 and 關鍵字,比如 findByUsernameAndPassword(String user, Striang pwd);

  • Or:等價于 SQL 中的 or 關鍵字,比如 findByUsernameOrAddress(String user, String addr);

  • Between:等價于 SQL 中的 between 關鍵字,比如 findBySalaryBetween(int max, int min);

  • LessThan:等價于 SQL 中的 "<",比如 findBySalaryLessThan(int max);

  • GreaterThan:等價于 SQL 中的">",比如 findBySalaryGreaterThan(int min);

  • IsNull:等價于 SQL 中的 "is null",比如 findByUsernameIsNull();

  • IsNotNull:等價于 SQL 中的 "is not null",比如 findByUsernameIsNotNull();

  • NotNull:與 IsNotNull 等價;

  • Like:等價于 SQL 中的 "like",比如 findByUsernameLike(String user);

  • NotLike:等價于 SQL 中的 "not like",比如 findByUsernameNotLike(String user);

  • OrderBy:等價于 SQL 中的 "order by",比如 findByUsernameOrderBySalaryAsc(String user);

  • Not:等價于 SQL 中的 "! =",比如 findByUsernameNot(String user);

  • In:等價于 SQL 中的 "in",比如 findByUsernameIn(Collection<String> userList) ,方法的參數(shù)可以是 Collection 類型,也可以是數(shù)組或者不定長參數(shù);

  • NotIn:等價于 SQL 中的 "not in",比如 findByUsernameNotIn(Collection<String> userList) ,方法的參數(shù)可以是 Collection 類型,也可以是數(shù)組或者不定長參數(shù);

感謝各位的閱讀!關于“JPA怎么使用findBy方法自定義查詢”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI