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

使用JPA自定義SQL查詢(xún)結(jié)果

 更新時(shí)間:2021年11月22日 08:41:25   作者:coderping  
這篇文章主要介紹了使用JPA自定義SQL查詢(xún)結(jié)果,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

JPA自定義SQL查詢(xún)結(jié)果

很多時(shí)候都會(huì)遇到自定義sql,自定義返回字段,而不是pojo類(lèi)。這個(gè)情況要通過(guò)接口定義返回。

直接上代碼

 @Query(value = "select m.field AS field,COUNT(m.field) AS size from MigrationObject m where m.xmlName = ?1 and m.groupName = ?2 group by m.field")
    List<WorkCenter> getKey(String xmlName, String groupName);

對(duì)于這種情況,只返回了兩個(gè)字段,就需要定義一個(gè)接口來(lái)接收(注意AS別名的配置)

public interface WorkCenter { 
    String getField();
    String getSize();
}

最后跑一下demo代碼

   List<WorkCenter> list = migrationObjectRepository.getKey("EN_Work centerResource.xml","Key");
        for (WorkCenter workCenter:list){
            System.out.println(workCenter.getField());
            System.out.println(workCenter.getSize());
        }

ARBPL
5
SPRAS
2
CANUM
2
ENDDA
1
WERKS
5

JPA的SQL查詢(xún)

一 點(diǎn)睛

JAP通過(guò)SQL查詢(xún)一般有兩種方法:通過(guò)NamedQuery查詢(xún)和使用@Query查詢(xún)。

二 JPA的NamedQuery查詢(xún)

1 說(shuō)明

Spring Data JPA支持用JPA的NameQuery來(lái)定義查詢(xún)方法,即一個(gè)名稱(chēng)映射一個(gè)查詢(xún)語(yǔ)句。

2 定義

@Entity 
@NamedQuery(name = "Person.withNameAndAddressNamedQuery",
query = "select p from Person p where p.name=?1 and address=?2")
public class Person {
    ......
}

3 使用方法

public interface PersonRepo extends JpaRepository<Person,Long>{
    //使用的是NameQuery里定義的查詢(xún)語(yǔ)句,而不是根據(jù)方法名稱(chēng)來(lái)查詢(xún)
    Person withNameAndAddressNamedQuery(String name,String address);
}

三 使用@Query查詢(xún)

1 使用參數(shù)索引

public interface PersonRepo extends JpaRepository<Person,Long>{
    @Query("select p from Person p where p.address= ?1")
    List<Person> findByAddress(String address);
}

2 使用命名參數(shù)

public interface PersonRepo extends JpaRepository<Person,Long>{
    @Query("select p from Person p where p.name= :name and p.address= :address")
    Person withNameAndAddressQuery(@Param("name")String name,@Param("address")String address);
}

3 更新查詢(xún)

public interface PersonRepo extends JpaRepository<Person,Long>{
    @Modifying
    @Transactional
    @Query("update Person p set p.name=?1")
    int setName(String name);//表示更新語(yǔ)句影響的行數(shù)
}

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

相關(guān)文章

  • java實(shí)現(xiàn)ATM取款項(xiàng)目

    java實(shí)現(xiàn)ATM取款項(xiàng)目

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)ATM取款項(xiàng)目的實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Java數(shù)據(jù)開(kāi)發(fā)輔助工具Docker與普通程序使用方法

    Java數(shù)據(jù)開(kāi)發(fā)輔助工具Docker與普通程序使用方法

    這是為數(shù)據(jù)開(kāi)發(fā)人員使用的輔助工具,用于數(shù)據(jù)庫(kù)之間的表同步,說(shuō)同步并不嚴(yán)謹(jǐn),因?yàn)椴皇菍?shí)時(shí)更新的,更確切的說(shuō)法是復(fù)制,可以方便的從一個(gè)數(shù)據(jù)庫(kù)復(fù)制表到另一個(gè)數(shù)據(jù)庫(kù),以下遇到同步的詞請(qǐng)理解為復(fù)制
    2021-09-09
  • 關(guān)于Java類(lèi)的構(gòu)造方法詳解

    關(guān)于Java類(lèi)的構(gòu)造方法詳解

    這篇文章主要介紹了關(guān)于Java類(lèi)的構(gòu)造方法詳解的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • JavaCV實(shí)現(xiàn)人臉檢測(cè)功能

    JavaCV實(shí)現(xiàn)人臉檢測(cè)功能

    這篇文章主要為大家詳細(xì)介紹了JavaCV實(shí)現(xiàn)人臉檢測(cè)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Java 刪除文件及文件夾刪除不了的解決

    Java 刪除文件及文件夾刪除不了的解決

    這篇文章主要介紹了Java 刪除文件及文件夾刪除不了的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringBoot實(shí)現(xiàn)自定義注解用于文件驗(yàn)證的詳細(xì)過(guò)程(大小、擴(kuò)展名、MIME類(lèi)型)

    SpringBoot實(shí)現(xiàn)自定義注解用于文件驗(yàn)證的詳細(xì)過(guò)程(大小、擴(kuò)展名、MIME類(lèi)型)

    SpringBoot,Spring Cloud中經(jīng)常需要處理文件上傳的功能,為了確保上傳的文件滿(mǎn)足特定的要求(如擴(kuò)展名、MIME類(lèi)型和文件大?。?我們可以創(chuàng)建一個(gè)自定義注解來(lái)簡(jiǎn)化驗(yàn)證過(guò)程,需要的朋友可以參考下
    2024-08-08
  • SpringData @Query和@Modifying注解原理解析

    SpringData @Query和@Modifying注解原理解析

    這篇文章主要介紹了SpringData @Query和@Modifying注解原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 解決springboot 啟動(dòng)找不到主類(lèi)的問(wèn)題

    解決springboot 啟動(dòng)找不到主類(lèi)的問(wèn)題

    這篇文章主要介紹了解決springboot 啟動(dòng)找不到主類(lèi)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 詳解Spring-Cloud2.0之Feign調(diào)用遠(yuǎn)程服務(wù)指南

    詳解Spring-Cloud2.0之Feign調(diào)用遠(yuǎn)程服務(wù)指南

    這篇文章主要介紹了詳解Spring-Cloud2.0之Feign調(diào)用遠(yuǎn)程服務(wù)指南,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 詳解springboot shiro jwt實(shí)現(xiàn)權(quán)限管理

    詳解springboot shiro jwt實(shí)現(xiàn)權(quán)限管理

    為什么使用jwt呢,因?yàn)榭梢酝ㄟ^(guò)URL,POST參數(shù)或者在HTTP header發(fā)送,因?yàn)閿?shù)據(jù)量小,傳輸速度也很快。本篇通過(guò)具體代碼來(lái)進(jìn)行詳情解析,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值
    2021-09-09

最新評(píng)論

武功县| 兰西县| 涡阳县| 宜兴市| 平阳县| 瑞丽市| 抚顺市| 射阳县| 馆陶县| 泸溪县| 武安市| 固始县| 腾冲县| 安新县| 安丘市| 临澧县| 山丹县| 疏勒县| 若羌县| 藁城市| 石楼县| 赣榆县| 建宁县| 华容县| 龙南县| 湘乡市| 县级市| 大洼县| 通许县| 德江县| 盐边县| 星子县| 扬州市| 崇文区| 上杭县| 浦县| 沅陵县| 东源县| 长丰县| 游戏| 平顶山市|