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

java?jpa如何自定義sql語(yǔ)句

 更新時(shí)間:2021年11月29日 16:59:19   作者:java小白-  
這篇文章主要介紹了java?jpa如何自定義sql語(yǔ)句方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java jpa自定義sql語(yǔ)句

本篇只是為了再次記錄自己又學(xué)習(xí)了jpa的使用,框架原生的通過(guò)解析方法名多適用于單表操作,自定義的sql查詢(xún)則可以解決所有問(wèn)題,記錄些自定義sql語(yǔ)法的記錄,以便后續(xù)參照。

1.多表關(guān)聯(lián)查詢(xún),含條件

@Query(value = "SELECT b FROM QyVideo a JOIN YjQyXx b ON  a.qyId = b.id AND a.cameraId = ?1 ")

2.清空表

@Transactional
@Modifying
@Query(value = "truncate table yj_qy_xx", nativeQuery = true)

注:update、truncate或delete時(shí)必須使用@Modifying和@Transactional對(duì)方法進(jìn)行注解,才能使得ORM知道現(xiàn)在要執(zhí)行的是寫(xiě)操作。

3.模糊查詢(xún)

@Query("select p from WhpzxryzsXxPo p where p.ryxm like concat('%',?1,'%') and p.cyyxqq >= ?2")

4.查詢(xún)結(jié)果為VO

含兩個(gè)實(shí)體類(lèi)

@Query(value = "SELECT new com.kun.aqsczt.vo.FxjzfbVo(u, seventinfo) FROM SSmsInfo u left join SEventInfo seventinfo on u.referId = seventinfo.eventId WHERE (:referType IS NULL OR :referType IS '' OR u.referType = :referType) AND (:isSend IS NULL OR :isSend IS '' OR u.isSend = :isSend) ")

5.使用@Param注解注入?yún)?shù)

分頁(yè)查詢(xún)

@Query(value = "SELECT a  FROM CEiWorkaccMaybe a " +
            "WHERE (:psnName IS NULL OR :psnName IS '' OR a.psnName LIKE %:psnName%) " +
            "AND (:commName IS NULL OR :commName IS '' OR a.commName LIKE %:commName%) " +
            "AND (:idCard IS NULL OR :idCard IS '' OR a.idCard LIKE %:idCard%) " +
            "AND (:doctorDateStart IS NULL OR :doctorDateStart IS '' OR a.doctorDate >= :doctorDateStart) " +
            "AND (:doctorDateEnd IS NULL OR :doctorDateEnd IS '' OR a.doctorDate <= :doctorDateEnd) "
    )
Page<CEiWorkaccMaybe> getSuspectedWorkAccidentVerification(
            @Param("psnName") String psnName,
            @Param("commName") String commName,
            @Param("idCard") String idCard,
            @Param("doctorDateStart") String doctorDateStart,
            @Param("doctorDateEnd") String doctorDateEnd,
            Pageable pageable
    );

無(wú)非是把日常的sql中的表名換成了對(duì)應(yīng)的實(shí)體類(lèi)名,接收參數(shù)適用 ?加上第幾個(gè)參數(shù)的幾。當(dāng)然也可使用@Param注解注入?yún)?shù),就變成了使用 :參數(shù) 名稱(chēng)接收。

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

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

相關(guān)文章

  • SpringCloud Gateway使用詳解

    SpringCloud Gateway使用詳解

    Spring Cloud Gateway是一個(gè)基于Spring Boot 2.x和Spring WebFlux的API網(wǎng)關(guān),可以幫助我們構(gòu)建微服務(wù)架構(gòu)中的統(tǒng)一入口。感興趣的同學(xué)可以參考一下
    2023-04-04
  • Java 并發(fā)編程的可見(jiàn)性、有序性和原子性

    Java 并發(fā)編程的可見(jiàn)性、有序性和原子性

    這篇文章主要介紹了Java 并發(fā)編程的可見(jiàn)性、有序性和原子性的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java并發(fā)編程,感興趣的朋友可以了解下。
    2020-11-11
  • Spring Cache自定義緩存key和過(guò)期時(shí)間的實(shí)現(xiàn)代碼

    Spring Cache自定義緩存key和過(guò)期時(shí)間的實(shí)現(xiàn)代碼

    使用 Redis的客戶(hù)端 Spring Cache時(shí),會(huì)發(fā)現(xiàn)生成 key中會(huì)多出一個(gè)冒號(hào),而且有一個(gè)空節(jié)點(diǎn)的存在,查看源碼可知,這是因?yàn)?nbsp;Spring Cache默認(rèn)生成key的策略就是通過(guò)兩個(gè)冒號(hào)來(lái)拼接,本文給大家介紹了Spring Cache自定義緩存key和過(guò)期時(shí)間的實(shí)現(xiàn),需要的朋友可以參考下
    2024-05-05
  • 基于CXF搭建webService的實(shí)例講解

    基于CXF搭建webService的實(shí)例講解

    下面小編就為大家?guī)?lái)一篇基于CXF搭建webService的實(shí)例講解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • Spring在多線(xiàn)程下保持事務(wù)的一致性的方法實(shí)現(xiàn)

    Spring在多線(xiàn)程下保持事務(wù)的一致性的方法實(shí)現(xiàn)

    當(dāng)Spring在多線(xiàn)程環(huán)境下運(yùn)行時(shí),確保事務(wù)一致性是非常重要的,本文主要介紹了Spring在多線(xiàn)程下保持事務(wù)的一致性的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • JAVA實(shí)現(xiàn)異步調(diào)用實(shí)例代碼

    JAVA實(shí)現(xiàn)異步調(diào)用實(shí)例代碼

    在java平臺(tái),實(shí)現(xiàn)異步調(diào)用的角色主要三種角色:調(diào)用者、取貨憑證、真實(shí)數(shù)據(jù)。本篇文章給大家介紹java實(shí)現(xiàn)異步調(diào)用實(shí)例代碼,需要的朋友可以參考下
    2015-09-09
  • 解決lambda表達(dá)式內(nèi)出現(xiàn)異常無(wú)法throw拋出的問(wèn)題

    解決lambda表達(dá)式內(nèi)出現(xiàn)異常無(wú)法throw拋出的問(wèn)題

    這篇文章主要介紹了lambda表達(dá)式內(nèi)出現(xiàn)異常無(wú)法throw拋出的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • SpringBoot通過(guò)ip獲取歸屬地的幾種方式分享

    SpringBoot通過(guò)ip獲取歸屬地的幾種方式分享

    在日常我們逛網(wǎng)站的時(shí)候會(huì)發(fā)現(xiàn)我們登錄后會(huì)出現(xiàn)歸屬地信息,例如:我在廣州登錄會(huì)顯示廣東廣州,有些更加精確的會(huì)顯示到區(qū)縣,那么我們來(lái)看看有哪些方式來(lái)獲取歸屬地信息,今天我們來(lái)聊一聊
    2023-09-09
  • Java Idea TranslationPlugin翻譯插件使用解析

    Java Idea TranslationPlugin翻譯插件使用解析

    這篇文章主要介紹了Java Idea TranslationPlugin翻譯插件使用解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • HttpUtils 發(fā)送http請(qǐng)求工具類(lèi)(實(shí)例講解)

    HttpUtils 發(fā)送http請(qǐng)求工具類(lèi)(實(shí)例講解)

    下面小編就為大家?guī)?lái)一篇HttpUtils 發(fā)送http請(qǐng)求工具類(lèi)(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07

最新評(píng)論