• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    Spring Data JPA注解式查詢方法

    Spring Data JPA撐持JPQL語法,可以利用注解的體例自界說查詢語句,可以利用sql原生的語法,也可以利用JPQL語法,我們利用@Query注解的value和nativeQuery的值。利用聲明式的JPQL語句,可以在啟動項目標時辰就知道語法是否準確,語法錯誤額時辰啟動就會報錯。

    東西/原料

    • IntelliJ IDEA

    方式/步調

    1. 1

      起首,聲明的注解在Repository的查詢方式上,例如 select u from User u 我們可以看出和原生sql有些分歧之處,別的也撐持 大于小于等查詢select u from User u where u.age > 30。

    2. 2

      利用注解實現恍惚查詢,注重恍惚查詢的字段不會主動加上%關頭字的,需要在查詢語句上手動去拼接,查詢前提的寫法也需要注重。

    3. 3

      別的,也撐持原生的sql查詢,只需要設置nativeQuery = true即可。nativeQuery 是不撐持直接傳Sort參數進行排序的,我們直接在sql中利用order by進行排序,恍惚查詢中%的拼接還可以利用concat關頭字。

    4. 4

      @Query注解在JPQL的環境下,可以利用PageRequest或者Sort參數,排序的字段需要和Entity實體類中的字段名稱相匹配。利用Page對象進行領受的時辰,參數直接傳Pageable即可。

    5. 5

      對原生sql的分支撐持不太好用,注重鄙人圖中#pageable#是必需的,查詢和計數count要分隔寫,別離寫兩條sql語句,利用起來比力麻煩,不太建議這么做,會讓領受代碼的人很難看懂,這種環境下就可以考慮將成果查出背工動分頁了。

    6. 6

      @Param注解的利用,一般環境下方式的傳參是經由過程挨次綁心猿意馬的體例進行的,傳參時很輕易弄錯參數的位置,利用@Param注解可以綁心猿意馬參數傳參時的具體名稱,很是適用。

    7. 7

      最后再介紹一下@Modifying注解,該注解的感化是點竄和刪除,共同@Query注解,利用JPQL或者原生sql進行操作,代碼如下圖所示。

    注重事項

    • 注重JPQL和原生sql語法的區別。
    • 發表于 2019-07-07 17:04
    • 閱讀 ( 815 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆