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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java中session存儲Users對象實現(xiàn)記住密碼
這篇文章主要介紹了Java中session存儲Users對象實現(xiàn)記住密碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01
Spring框架JdbcTemplate數(shù)據(jù)庫事務管理完全注解方式
這篇文章主要介紹了Spring框架JdbcTemplate數(shù)據(jù)庫事務管理及完全注解方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
springBoot?啟動指定配置文件環(huán)境多種方案(最新推薦)
springBoot?啟動指定配置文件環(huán)境理論上是有多種方案的,一般都是結合我們的實際業(yè)務選擇不同的方案,比如,有pom.xml文件指定、maven命令行指定、配置文件指定、啟動jar包時指定等方案,今天我們一一分享一下,需要的朋友可以參考下2023-09-09
springboot?注解方式批量插入數(shù)據(jù)的實現(xiàn)
一次請求需要往數(shù)據(jù)庫插入多條數(shù)據(jù)時,可以節(jié)省大量時間,本文主要介紹了springboot?注解方式批量插入數(shù)據(jù),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
Springboot引入hibernate配置自動建表并進行增刪改查操作
這篇文章主要介紹了Springboot引入hibernate配置自動建表并進行增刪改查,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09
Springboot中spring-boot-starter-quartz的使用及說明
這篇文章主要介紹了Springboot中spring-boot-starter-quartz的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
基于Springboot的高校社團管理系統(tǒng)的設計與實現(xiàn)
本文將基于Springboot+Mybatis開發(fā)實現(xiàn)一個高校社團管理系統(tǒng),系統(tǒng)包含三個角色:管理員、團長、會員。文中采用的技術有Springboot、Mybatis、Jquery、AjAX、JSP等,感興趣的可以了解一下2022-07-07

