<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-95  評論-31  文章-10  trackbacks-0
    問題:
    1:一般情況下,用spring-boot data jpa查詢sql稍有點多,本來一條sql解決的事情,一定要幾條, 如何優化成一條sql解決,還能帶上分頁?
    2:這個時候@Query注解里面的nativeQuery就可以派上用場 (用left join fetch也可以優化成一條sql,見http://www.tkk7.com/liuguly/archive/2017/11/13/432890.html)
    3:nativeQuery的用途是可以使用原生sql。

    經過實踐,官網給出的示例無法跑通:


    解決方法:
    1: 先按照上述官網示例進行配置。
    2: 示例:
    @Repository
    public interface BabySittingDao extends PagingAndSortingRepository<BabySitting, Long> {

        /**
         * 獲取喜歡的sharecare列表
         * 
    @param accountId 當前用戶id
         * 
    @param fType 喜歡的類型  0-> sharecare  1-> babysitting  2->event
         * 
    @param pageable 分頁
         * 
    @return 分頁結果
         
    */
        @Query(value = "SELECT s.* FROM sharecare.sb_baby_sitting s WHERE s.id IN (" +
                "SELECT f.f_type_id FROM sharecare.sb_favorite f WHERE f.f_type=?2 AND f.owner_id=?1)  ORDER BY ?#{#pageable}",
                countQuery = "SELECT COUNT (*) FROM  (SELECT s.* FROM sharecare.sb_baby_sitting s WHERE s.id IN " +
                        "(SELECT f.f_type_id FROM sharecare.sb_favorite f WHERE f.f_type=?2 AND f.owner_id=?1))",
                nativeQuery = true)
        Page<BabySitting> findFavoriteBabySitting(Long accountId, Integer fType, Pageable pageable);

    說明:@Query里面的value是原生sql 、countQuery表示查詢總數、nativeQuery表示這是一條原生sql

    注意點:
    1: 這個接口方法findFavoriteBabySitting一定要放在當前領域模型的Dao接口里面,不能放在其它Dao接口中,否則就是網上流傳的類型轉換錯誤!
    2: 見紅色標注,一定要這樣寫,不能ORDER BY ?3這樣寫,也不能ORDER BY #{#pageable}這樣寫,否則就是網上流傳的各種錯!
    3: 一定要加nativeQuery=true

    經過以上配置,就可正確查詢出結果且自帶分頁!

    完!

    關于領域模型的補充說明:
    1:不管實體類的屬性如何命名哪怕是abcdef,只要配置好映射即:@Column注解對應的表字段。
    2:那么以上所述的查詢方式,仍然能正確返回結果,正確映射成Page<領域模型>。

    posted on 2017-11-14 14:20 朔望魔刃 閱讀(5653) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 久久国产亚洲高清观看| 国产天堂亚洲精品| 亚洲午夜未满十八勿入网站2| 在线a级毛片免费视频| 国产自国产自愉自愉免费24区 | 国产成人亚洲毛片| 亚洲国产精品网站久久| 国产亚洲精品精华液| 亚洲成a人无码av波多野按摩| 日韩亚洲国产高清免费视频| 男女午夜24式免费视频| 亚洲日韩在线观看免费视频| 国产成人精品日本亚洲语音| 日本亚洲精品色婷婷在线影院| 日韩亚洲Av人人夜夜澡人人爽 | 特级无码毛片免费视频| 亚洲一卡2卡三卡4卡无卡下载| 婷婷亚洲久悠悠色悠在线播放| 中文字幕第一页亚洲| 亚洲精品国产V片在线观看| 国产免费AV片无码永久免费| 在线免费不卡视频| 成人特黄a级毛片免费视频| 青娱乐免费在线视频| 黄色成人免费网站| 最好看的中文字幕2019免费| 色欲国产麻豆一精品一AV一免费 | 亚洲AV日韩AV永久无码免下载| 亚洲婷婷国产精品电影人久久| 亚洲国产综合精品一区在线播放| 免费大香伊蕉在人线国产 | 亚洲av第一网站久章草| 亚洲国产欧美日韩精品一区二区三区 | 亚洲国产成人精品女人久久久| 国产成人免费A在线视频| 国产免费观看黄AV片| 免费人成年激情视频在线观看| 又黄又爽无遮挡免费视频| 亚洲不卡无码av中文字幕| 亚洲一区无码精品色| 亚洲中文字幕无码久久精品1|