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

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

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

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

經常會遇到列表頁要關聯(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字段轉化為名稱字段,這樣就可以寫一次查詢,其他交給MySQL執(zhí)行。

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

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

分類和品牌都讀出來了。

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

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

總結

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

相關文章

最新評論

嘉兴市| 蓬莱市| 梨树县| 乐至县| 镇宁| 叶城县| 宁强县| 阳城县| 台湾省| 友谊县| 罗定市| 平塘县| 屯门区| 肃宁县| 从化市| 文安县| 满洲里市| 永仁县| 盐亭县| 阿巴嘎旗| 江北区| 潼南县| 黄山市| 新巴尔虎左旗| 贺兰县| 建平县| 贵阳市| 昌乐县| 旅游| 高唐县| 元氏县| 宜兰县| 沧州市| 库尔勒市| 永丰县| 韶关市| 宁化县| 新丰县| 肇州县| 本溪| 泾源县|