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

在postman測試請求的接口如下

這樣就很方便的查詢所需要的數(shù)據(jù),不用再寫接口去過濾了。
JPA的findBy語法整理
前提操作
- 創(chuàng)建一個(gè)可持久化的實(shí)體類
- dao層繼承JpaRepository<T,ID>
T:實(shí)體類
ID:實(shí)體類的主鍵類型
例:
public interface SysUserRespository extends JpaRepository<SysUser,Long> {}
JPA中支持的關(guān)鍵詞
And:等價(jià)于 SQL 中的 and 關(guān)鍵字,比如 findByUsernameAndPassword(String user, Striang pwd);Or:等價(jià)于 SQL 中的 or 關(guān)鍵字,比如 findByUsernameOrAddress(String user, String addr);Between:等價(jià)于 SQL 中的 between 關(guān)鍵字,比如 findBySalaryBetween(int max, int min);LessThan:等價(jià)于 SQL 中的 "<",比如 findBySalaryLessThan(int max);GreaterThan:等價(jià)于 SQL 中的">",比如 findBySalaryGreaterThan(int min);IsNull:等價(jià)于 SQL 中的 "is null",比如 findByUsernameIsNull();IsNotNull:等價(jià)于 SQL 中的 "is not null",比如 findByUsernameIsNotNull();NotNull:與 IsNotNull 等價(jià);Like:等價(jià)于 SQL 中的 "like",比如 findByUsernameLike(String user);NotLike:等價(jià)于 SQL 中的 "not like",比如 findByUsernameNotLike(String user);OrderBy:等價(jià)于 SQL 中的 "order by",比如 findByUsernameOrderBySalaryAsc(String user);Not:等價(jià)于 SQL 中的 "! =",比如 findByUsernameNot(String user);In:等價(jià)于 SQL 中的 "in",比如 findByUsernameIn(Collection<String> userList) ,方法的參數(shù)可以是 Collection 類型,也可以是數(shù)組或者不定長參數(shù);NotIn:等價(jià)于 SQL 中的 "not in",比如 findByUsernameNotIn(Collection<String> userList) ,方法的參數(shù)可以是 Collection 類型,也可以是數(shù)組或者不定長參數(shù);
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java實(shí)現(xiàn)簡易外賣訂餐系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡易外賣訂餐系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
elasticsearch中term與match的區(qū)別講解
今天小編就為大家分享一篇關(guān)于elasticsearch中term與match的區(qū)別講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02
SpringBoot實(shí)現(xiàn)使用反射模擬IOC和getBean
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)使用反射模擬IOC和getBean,IOC就是spring的核心思想之一——控制反轉(zhuǎn)。這里不再贅述,看此文章即可了解2023-04-04
SpringBoot集成內(nèi)存數(shù)據(jù)庫hsqldb的實(shí)踐
hsqldb只需要添加對應(yīng)的依賴,然后在配置文件進(jìn)行配置。不需要安裝一個(gè)數(shù)據(jù)庫,本文就來介紹一下具體使用,感興趣的可以了解一下2021-09-09
java final 和instanceof 關(guān)鍵字的區(qū)別
這篇文章介紹了java final 和instanceof 關(guān)鍵字的區(qū)別,有需要的朋友可以參考一下2013-09-09

