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

Mybatis-Plus-Join表連接插件集成過程

 更新時間:2025年09月08日 14:13:29   作者:劉火鍋  
Mybatis-Plus-Join是Mybatis-Plus的擴展插件,支持左、右、內(nèi)連接查詢,保持原有開發(fā)風格,通過JoinLambdaWrapper配置連接關系與查詢條件,簡化多表關聯(lián)操作,提升復雜SQL編寫效率

概要

Mybatis-Plus-Join 是基于 Mybatis-Plus 的擴展插件,提供了簡便的表連接查詢功能,支持左連接、右連接和內(nèi)連接等操作,同時保持 Mybatis-Plus 的使用風格。

官方文檔:https://mpj.aicats.cc/

安裝配置

1.添加依賴

在 pom.xml 中添加以下依賴:

<dependency>
    <groupId>com.github.yulichang</groupId>
    <artifactId>mybatis-plus-join-boot-starter</artifactId>
    <version>1.4.5</version>
</dependency>

2.配置繼承結構

Mapper 層繼承

import icu.mhb.mybatisplus.plugln.base.mapper.JoinBaseMapper;

public interface UserMapper extends JoinBaseMapper<User> {
   
}

Service 接口繼承

import icu.mhb.mybatisplus.plugln.base.service.JoinIService;

public interface UserService extends JoinIService<User> {
   
}

Service 實現(xiàn)層繼承

import icu.mhb.mybatisplus.plugln.base.service.impl.JoinServiceImpl;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl extends JoinServiceImpl<UserMapper, User> implements UserService {
   
}

基本使用方法

1. 創(chuàng)建 JoinLambdaWrapper

在 Service 中可直接使用 joinLambdaWrapper() 方法:

// 方式一:通過 Service 直接獲取
JoinLambdaWrapper<User> wrapper = userService.joinLambdaWrapper();

// 方式二:手動創(chuàng)建
JoinLambdaWrapper<User> wrapper = new JoinLambdaWrapper<>(User.class);

2. 添加表連接

支持三種連接方式:

// 左連接
wrapper.leftJoin(Department.class, Department::getId, User::getDeptId);

// 右連接
wrapper.rightJoin(Department.class, Department::getId, User::getDeptId);

// 內(nèi)連接
wrapper.innerJoin(Department.class, Department::getId, User::getDeptId);

3. 添加查詢條件

wrapper.eq(Department::getName, "技術部")
       .like(User::getName, "張")
       .gt(User::getAge, 25);

4. 結束連接并執(zhí)行查詢

// 結束當前連接(重要!)
wrapper.end();

// 執(zhí)行查詢
List<UserVO> result = userService.joinList(wrapper, UserVO.class);

多表連接示例

public List<UserVO> findUsersWithMultiJoin() {
    JoinLambdaWrapper<User> wrapper = userService.joinLambdaWrapper();
    
    // 第一重連接:部門表
    wrapper.leftJoin(Department.class, Department::getId, User::getDeptId)
           .selectAs(Department::getName, UserVO::getDeptName)
           .end();
    
    // 第二重連接:職位表
    wrapper.leftJoin(Position.class, Position::getUserId, User::getId)
           .eq(Position::getLevel, "P7")
           .selectAs(Position::getName, UserVO::getPositionName)
           .end();
    
    return userService.joinList(wrapper, UserVO.class);
}

總結

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

相關文章

  • SpringBoot多環(huán)境配置完整過程記錄

    SpringBoot多環(huán)境配置完整過程記錄

    SpringBoot多環(huán)境配置方案SpringBoot是一個基于Java的框架,提供了多環(huán)境配置方案,以便于在不同的環(huán)境中靈活應用,這篇文章主要介紹了SpringBoot多環(huán)境配置的相關資料,需要的朋友可以參考下
    2026-02-02
  • 線上Java程序占用CPU過高解決方案

    線上Java程序占用CPU過高解決方案

    這篇文章主要介紹了線上Java程序占用CPU過高解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Spring利用注解整合Mybatis的方法詳解

    Spring利用注解整合Mybatis的方法詳解

    這篇文章主要為大家介紹了Spring如何利用注解整合MyBatis,文中的示例代碼講解詳細,對我們學習有一定的參考價值,需要的小伙伴可以參考一下
    2022-06-06
  • JDBC的ResultSet使用說明

    JDBC的ResultSet使用說明

    今天小編就為大家分享一篇JDBC的ResultSet使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • 創(chuàng)建動態(tài)代理對象bean,并動態(tài)注入到spring容器中的操作

    創(chuàng)建動態(tài)代理對象bean,并動態(tài)注入到spring容器中的操作

    這篇文章主要介紹了創(chuàng)建動態(tài)代理對象bean,并動態(tài)注入到spring容器中的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Maven項目如何在pom文件中引入lib下的第三方jar包并打包進去

    Maven項目如何在pom文件中引入lib下的第三方jar包并打包進去

    在使用Maven進行項目開發(fā)時,引入第三方私有的Jar包可能會遇到問題,一種常見的解決方案是將Jar包添加到項目的lib目錄,并通過IDE進行配置,但這需要每個開發(fā)者單獨操作,效率低下,更好的方法是通過Maven的pom.xml文件管理這些Jar包
    2024-09-09
  • java基于netty NIO的簡單聊天室的實現(xiàn)

    java基于netty NIO的簡單聊天室的實現(xiàn)

    這篇文章主要介紹了java基于netty NIO的簡單聊天室的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Springboot項目Maven依賴沖突的問題解決

    Springboot項目Maven依賴沖突的問題解決

    使用Spring Boot和Maven進行項目開發(fā)時,依賴沖突是一個常見的問題,本文就來介紹一下Springboot項目Maven依賴沖突的問題解決,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • Javaweb使用thymeleaf局部刷新結合Layui插件實現(xiàn)Html分頁

    Javaweb使用thymeleaf局部刷新結合Layui插件實現(xiàn)Html分頁

    本文主要介紹了Javaweb使用thymeleaf局部刷新結合Layui插件實現(xiàn)Html分頁,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 基于Jasypt對SpringBoot配置文件加密

    基于Jasypt對SpringBoot配置文件加密

    這篇文章主要介紹了基于Jasypt對SpringBoot配置文件加密,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11

最新評論

盖州市| 元氏县| 竹溪县| 镇远县| 永吉县| 八宿县| 伊吾县| 望城县| 泊头市| 万源市| 股票| 志丹县| 祁东县| 平泉县| 武邑县| 化隆| 胶州市| 石林| 武夷山市| 甘德县| 大足县| 大丰市| 淮滨县| 和平县| 莱阳市| 江口县| 怀远县| 江陵县| 土默特左旗| 原阳县| 平山县| 洛川县| 蓝山县| 南宫市| 莲花县| 鄂托克前旗| 彩票| 舒城县| 孟村| 南昌市| 孝感市|