最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis-Plus多表關聯(lián)分頁方式

 更新時間:2026年05月15日 10:42:18   作者:Tiger_Paul  
文章介紹了使用MyBatis-Plus的QueryWrapper進行多表關聯(lián)查詢的方法,通過select()方法定義需要的字段,將ID字段轉(zhuǎn)化為名稱字段,實現(xiàn)一次查詢,這種方法簡單便捷,但在使用where語句查詢子表字段時有一定限制,作者建議建立數(shù)據(jù)庫視圖表作為更好的解決方案

MyBatis-Plus多表關聯(lián)分頁

經(jīng)常會遇到列表頁要關聯(lián)幾個表查詢,主表只保存關聯(lián)表的ID,要顯示關聯(lián)表的ID,則需要查詢列表時一起查出來。

使用MyBatis-Plus可以使用多種方式聯(lián)合查詢,例如使用mapper 的 xml ,也可以使用 QueryWrapper 提供的方法查詢。

下面介紹最簡單

最便捷的方法,上代碼:

QueryWrapper<SpuInfoEntity> wrapper = new QueryWrapper<>();

wrapper.select("id","spu_name","weight","publish_status","create_time","update_time",
 "(SELECT b.name FROM pms_brand b WHERE b.brand_id = pms_spu_info.brand_Id) AS brandName" ,
 "(SELECT c.name FROM pms_category c WHERE c.cat_id = pms_spu_info.catalog_Id) AS categoryName");

IPage<SpuInfoEntity> page = this.page(
   new Query<SpuInfoEntity>().getPage(params),
   wrapper
);

return new PageUtils(page);

使用 QueryWrapper 的 select()方法定義需要搜索的字段,將ID字段轉(zhuǎn)化為名稱字段,這樣就可以寫一次查詢,其他交給MySQL執(zhí)行。

這種方法比 Left JOIN 方法要多了幾毫秒

分頁每次讀10-20條也不影響。

分類和品牌都讀出來了。

以上方式有缺點,要查詢子表的字段時,無法使用語句where。

所以我認為最好的方式就是建立數(shù)據(jù)庫視圖表,通過查詢視圖表返回一個VO

總結(jié)

這些僅為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

泸定县| 合川市| 新乐市| 清徐县| 高尔夫| 康定县| 铁岭县| 临泉县| 息烽县| 丹巴县| 修武县| 鲁甸县| 兰考县| 科尔| 青龙| 淮阳县| 罗城| 札达县| 卢氏县| 旌德县| 阿图什市| 双流县| 康平县| 格尔木市| 永清县| 平乡县| 京山县| 崇州市| 金寨县| 田林县| 河源市| 天柱县| 通城县| 海城市| 岢岚县| 堆龙德庆县| 甘洛县| 闽侯县| 惠安县| 江阴市| 北碚区|