最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

教你快速學(xué)會(huì)JPA中所有findBy語法規(guī)則

 更新時(shí)間:2021年11月20日 11:13:21   作者:zhw0596  
這篇文章主要介紹了教你快速學(xué)會(huì)JPA中所有findBy語法規(guī)則,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

快速學(xué)會(huì)JPA中所有findBy語法規(guī)則

1、findBy findAllBy的區(qū)別

它們之間沒有區(qū)別,它們將執(zhí)行完全相同的查詢,當(dāng)從方法名稱派生查詢時(shí),Spring Data會(huì)忽略All部分。唯一重要的一點(diǎn)是By關(guān)鍵字,其后面的任何內(nèi)容都被視為字段名稱

如 findXXXXXXXXXXXXXByName 實(shí)際上==》 findByName

2、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);但是有一點(diǎn)需要注意的是,%需要我們自己來寫

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ù);

JPA findBy 語法總結(jié)

1、JPA同時(shí)查詢兩個(gè)屬性

其中一個(gè)是embedded class的屬性

findByIdageAndTime(int age, Date time)

2、表格匯總

3、Spring Data JPA框架在進(jìn)行方法名解析時(shí)

會(huì)先把方法名多余的前綴截取掉,比如 find、findBy、read、readBy、get、getBy,然后對(duì)剩下部分進(jìn)行解析。

4、JPA的NamedQueries

在實(shí)體類上使用@NamedQuery,示例如下:

@NamedQuery(name = "UserModel.findByAge",query = "select o from UserModel o where o.age >= ?1")

在自己實(shí)現(xiàn)的DAO的Repository接口里面定義一個(gè)同名的方法,示例如下:

public List findByAge(int age);

然后就可以使用了,Spring會(huì)先找是否有同名的NamedQuery,如果有,那么就不會(huì)按照接口定義的方法來解析。

5、JPQL查詢

  @Query("from SysUser u where u.nickname=:nickname")
    SysUser findUser(@Param("nickname") String nickname);
    @Query("from SysUser u where u.nickname like  %:nickname% order by u.fans desc")
    List<SysUser> findUsers(@Param("nickname") String nickname);

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java 中HttpClient傳輸xml字符串實(shí)例詳解

    java 中HttpClient傳輸xml字符串實(shí)例詳解

    這篇文章主要介紹了java 中HttpClient傳輸xml字符串實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • SpringCloud:feign對(duì)象傳參和普通傳參及遇到的坑解決

    SpringCloud:feign對(duì)象傳參和普通傳參及遇到的坑解決

    這篇文章主要介紹了SpringCloud:feign對(duì)象傳參和普通傳參及遇到的坑解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java數(shù)據(jù)結(jié)構(gòu)之二叉查找樹的實(shí)現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)之二叉查找樹的實(shí)現(xiàn)

    二叉查找樹(亦稱二叉搜索樹、二叉排序樹)是一棵二叉樹,且各結(jié)點(diǎn)關(guān)鍵詞互異,其中根序列按其關(guān)鍵詞遞增排列。本文將通過示例詳細(xì)講解二叉查找樹,感興趣的可以了解一下
    2022-03-03
  • Java操作redis實(shí)現(xiàn)增刪查改功能的方法示例

    Java操作redis實(shí)現(xiàn)增刪查改功能的方法示例

    這篇文章主要介紹了Java操作redis實(shí)現(xiàn)增刪查改功能的方法,涉及java操作redis數(shù)據(jù)庫的連接、設(shè)置、增刪改查、釋放資源等相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • Java刪除String中指定字符的11種方法匯總

    Java刪除String中指定字符的11種方法匯總

    這篇文章主要給大家介紹了關(guān)于Java刪除String中指定字符的11種方法,在Java中String類提供了許多方法來處理字符串,其中包括刪除指定字符的方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • springboot聚合工程的部署與深入講解

    springboot聚合工程的部署與深入講解

    最近在寫一個(gè)商城,使用Maven聚合工程來管理,但是其中搭建環(huán)境遇見了各種的坑,下面這篇文章主要給大家介紹了關(guān)于springboot聚合工程部署的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • SpringBoot集成Curator實(shí)現(xiàn)Zookeeper基本操作的代碼示例

    SpringBoot集成Curator實(shí)現(xiàn)Zookeeper基本操作的代碼示例

    Zookeeper是一個(gè)Apache開源的分布式的應(yīng)用,為系統(tǒng)架構(gòu)提供協(xié)調(diào)服務(wù),ZooKeeper的目標(biāo)就是封裝好復(fù)雜易出錯(cuò)的關(guān)鍵服務(wù),將簡單易用的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶,本文給大家介紹了SpringBoot集成Curator實(shí)現(xiàn)Zookeeper基本操作,需要的朋友可以參考下
    2024-05-05
  • Java線程之程安全與不安全代碼示例

    Java線程之程安全與不安全代碼示例

    這篇文章主要介紹了Java線程之程安全與不安全代碼示例,還是比較不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    2017-11-11
  • Java中StringBuffer和StringBuilder_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java中StringBuffer和StringBuilder_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    StringBuffer、StringBuilder和String一樣,也用來代表字符串。String類是不可變類,StringBuffer則是可變類,任何對(duì)它所指代的字符串的改變都不會(huì)產(chǎn)生新的對(duì)象。本文重點(diǎn)給大家介紹String、StringBuffer、StringBuilder區(qū)別,感興趣的朋友一起看看吧
    2017-04-04
  • SpringBoot 定時(shí)任務(wù)遇到的坑

    SpringBoot 定時(shí)任務(wù)遇到的坑

    這篇文章主要介紹了SpringBoot 定時(shí)任務(wù)遇到的坑,今天踩的這個(gè)坑和 cron 表達(dá)式有關(guān),文中給大家介紹了cron 表達(dá)式的解釋,需要的朋友一起看看吧
    2017-11-11

最新評(píng)論

涞水县| 吴忠市| 连州市| 花垣县| 道孚县| 西华县| 白山市| 丰镇市| 神木县| 平顺县| 铜川市| 宿州市| 加查县| 沂南县| 德钦县| 常山县| 湟源县| 尼勒克县| 互助| 衢州市| 亚东县| 达尔| 山西省| 株洲市| 镇康县| 长岭县| 集安市| 凌源市| 喀喇沁旗| 瑞金市| 濮阳市| 枣庄市| 杭州市| 西吉县| 仁化县| 十堰市| 梨树县| 老河口市| 临桂县| 湘潭县| 大同市|