欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

1、findBy findAllBy的區(qū)別

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

如 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)需要注意的是,%需要我們自己來(lái)寫(xiě)

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 類(lèi)型,也可以是數(shù)組或者不定長(zhǎng)參數(shù);

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

JPA findBy 語(yǔ)法總結(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í)體類(lèi)上使用@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ì)按照接口定義的方法來(lái)解析。

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)文章

  • 使用Spring AntPathMatcher的doMatch方法

    使用Spring AntPathMatcher的doMatch方法

    這篇文章主要介紹了使用Spring AntPathMatcher的doMatch方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 介紹java中Pair(配對(duì))

    介紹java中Pair(配對(duì))

    這篇文章主要介紹了介紹java中Pair(配對(duì)),示例描述使用Pair類(lèi)實(shí)現(xiàn)簡(jiǎn)單Integer到String的映射,示例中g(shù)etKey方法返回key對(duì)象,getValue方法返回對(duì)應(yīng)值對(duì)象,需要的朋友可以參考下
    2023-03-03
  • 詳解使用spring cloud config來(lái)統(tǒng)一管理配置文件

    詳解使用spring cloud config來(lái)統(tǒng)一管理配置文件

    這篇文章主要介紹了詳解使用spring cloud config來(lái)統(tǒng)一管理配置文件,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • spring boot starter actuator(健康監(jiān)控)配置和使用教程

    spring boot starter actuator(健康監(jiān)控)配置和使用教程

    這篇文章主要介紹了spring-boot-starter-actuator(健康監(jiān)控)配置和使用教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • Java String類(lèi)用法詳解

    Java String類(lèi)用法詳解

    今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著Java String類(lèi)用法展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • SpringBoot項(xiàng)目實(shí)現(xiàn)分布式日志鏈路追蹤

    SpringBoot項(xiàng)目實(shí)現(xiàn)分布式日志鏈路追蹤

    這篇文章主要給大家介紹了Spring Boot項(xiàng)目如何實(shí)現(xiàn)分布式日志鏈路追蹤,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • Java實(shí)現(xiàn)ArrayList排序的方法詳解

    Java實(shí)現(xiàn)ArrayList排序的方法詳解

    Java中常見(jiàn)的ArrayList排序方法主要為三種:JDK8的stream、Comparator#compare()和Comparable#compareTo(),本文將詳解這三者的使用,需要的可以參考一下
    2022-05-05
  • spring 如何解決循環(huán)依賴(lài)

    spring 如何解決循環(huán)依賴(lài)

    這篇文章主要介紹了spring 如何解決循環(huán)依賴(lài),幫助大家更好的理解和學(xué)習(xí)使用spring框架,感興趣的朋友可以了解下
    2021-02-02
  • java排序去重示例分享

    java排序去重示例分享

    這篇文章主要介紹了java排序去重示例,對(duì)String strs = "ZZZ BBB AAA OOO ZZZ AAA ZZZ"計(jì)算出現(xiàn)個(gè)數(shù),排序去重,需要的朋友可以參考下
    2014-02-02
  • java Swing實(shí)現(xiàn)五子棋游戲

    java Swing實(shí)現(xiàn)五子棋游戲

    這篇文章主要為大家詳細(xì)介紹了java Swing實(shí)現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12

最新評(píng)論