JPA如何使用findBy方法自定義查詢
更新時間:2021年11月25日 11:20:11 作者:Brid_Success
這篇文章主要介紹了JPA如何使用findBy方法自定義查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
JPA使用findBy方法自定義查詢
最近在項目中使用spring boot+jpa的方式來訪問數(shù)據(jù)庫,例如:本項目中的課程目錄詳情表中包括了外鍵課程詳情ID,想通過課程詳情ID查找出所有關聯(lián)的課程目錄詳情
在JPA中使用findBy方法自定義查詢
在postman測試請求的接口如下
這樣就很方便的查詢所需要的數(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ù);
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
elasticsearch中term與match的區(qū)別講解
今天小編就為大家分享一篇關于elasticsearch中term與match的區(qū)別講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02SpringBoot實現(xiàn)使用反射模擬IOC和getBean
這篇文章主要介紹了SpringBoot實現(xiàn)使用反射模擬IOC和getBean,IOC就是spring的核心思想之一——控制反轉(zhuǎn)。這里不再贅述,看此文章即可了解2023-04-04SpringBoot集成內(nèi)存數(shù)據(jù)庫hsqldb的實踐
hsqldb只需要添加對應的依賴,然后在配置文件進行配置。不需要安裝一個數(shù)據(jù)庫,本文就來介紹一下具體使用,感興趣的可以了解一下2021-09-09java final 和instanceof 關鍵字的區(qū)別
這篇文章介紹了java final 和instanceof 關鍵字的區(qū)別,有需要的朋友可以參考一下2013-09-09