在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  數(shù)據(jù)庫(kù)/ pageHelper多表的分頁(yè)查詢。IO開銷太大

pageHelper多表的分頁(yè)查詢。IO開銷太大

之前通過pagehelper寫單表的分頁(yè)查詢寫的很開心。現(xiàn)在要寫一個(gè)奪標(biāo)(就比如2張表把)
如果自己寫sql語(yǔ)句,就不能用 Criteria 東西了,如果先查詢主表,在查詢另一張附表(用collection也一樣),連接數(shù)據(jù)庫(kù)又會(huì)很頻繁,有什么好的解決思路碼?因?yàn)楸緛碜约簩憇ql語(yǔ)句關(guān)聯(lián)查詢至訪問一次數(shù)據(jù)庫(kù)。先查主表,在查附表分頁(yè)為10就會(huì)訪問10次,分頁(yè)為20就會(huì)訪問20次了

回答
編輯回答
夏木

根據(jù)你的問題的話,解決方式:

  1. Mybatis PageHelper支持奪標(biāo)查詢,完全可以直接使用
  2. 如果題主又想單表查詢,又想一次查詢的話,不妨這樣試一下:

    1. 查詢第一張主表獲取主表數(shù)據(jù),并將主表id篩選出來留作備用。
    2. 查詢第二張表,通過Criteria條件將主表id通過條件添加進(jìn)去。
    3. 通過java自身業(yè)務(wù)邏輯將兩個(gè)表中的數(shù)據(jù)連接到一個(gè)Bo類中。
值得注意的地方
由于Mybatis中的存儲(chǔ)數(shù)據(jù)集合是一TheadLocal進(jìn)行存儲(chǔ)的,注意startPage方法和獲取PageList位置,不然有可能獲取到錯(cuò)誤的數(shù)據(jù)集合
2017年6月27日 20:48