<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解決的事情,一定要幾條, 如何優(yōu)化成一條sql解決,還能帶上分頁?
    2:這個時候@Query注解里面的nativeQuery就可以派上用場 (用left join fetch也可以優(yōu)化成一條sql,見http://m.tkk7.com/liuguly/archive/2017/11/13/432890.html)
    3:nativeQuery的用途是可以使用原生sql。

    經(jīng)過實踐,官網(wǎng)給出的示例無法跑通:


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

        /**
         * 獲取喜歡的sharecare列表
         * 
    @param accountId 當(dāng)前用戶id
         * 
    @param fType 喜歡的類型  0-> sharecare  1-> babysitting  2->event
         * 
    @param pageable 分頁
         * 
    @return 分頁結(jié)果
         
    */
        @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表示查詢總數(shù)、nativeQuery表示這是一條原生sql

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

    經(jīng)過以上配置,就可正確查詢出結(jié)果且自帶分頁!

    完!

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

    posted on 2017-11-14 14:20 朔望魔刃 閱讀(5653) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 久久久久久一品道精品免费看| 日韩久久无码免费毛片软件| 国产精品免费无遮挡无码永久视频 | 美女视频黄是免费的网址| 亚洲bt加勒比一区二区| 99精品视频免费| 久久精品国产亚洲av四虎| 久久99精品免费视频| 亚洲视频免费在线观看| 一级做a爰全过程免费视频| 在线观看亚洲人成网站| 久久精品免费一区二区| 亚洲色欲色欲www在线播放| 永久久久免费浮力影院| 青青草国产免费国产是公开| 国产亚洲精午夜久久久久久| 免费在线中文日本| 亚洲冬月枫中文字幕在线看| 免费无码A片一区二三区| 美女羞羞喷液视频免费| 亚洲色婷婷综合久久| 7m凹凸精品分类大全免费| 亚洲黄页网在线观看| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲成av人在线视| 91九色老熟女免费资源站| 亚洲偷自拍另类图片二区| 国产精品亚洲产品一区二区三区 | 成人亚洲国产精品久久| 亚洲色欲色欲www在线丝| 久久ww精品w免费人成| 亚洲综合精品伊人久久| 亚洲狠狠爱综合影院婷婷| 一个人免费视频在线观看www| 亚洲第一香蕉视频| 国产美女精品久久久久久久免费| 一级黄色片免费观看| 91亚洲精品自在在线观看| 亚洲精品国自产拍在线观看| 91精品国产免费| 无人视频免费观看免费视频|