欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot集成Mybatis-plus-join-boot-start詳解

 更新時(shí)間:2025年04月17日 09:53:35   作者:guoyangsheng_  
這篇文章主要介紹了springboot集成Mybatis-plus-join-boot-start方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

導(dǎo)入mybit-plus依賴 與 mybatis-plus-join的依賴

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

準(zhǔn)備如下表模板

CREATE TABLE `sys_user` (
                            `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
                            `dept_id` bigint DEFAULT NULL COMMENT '部門id',
                            `user_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '賬號(hào)',
                            `password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '密碼',
                            `nick_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '昵稱',
                            `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '用戶郵箱',
                            `phone_number` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '手機(jī)號(hào)碼',
                            `sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '用戶性別(0男 1女)',
                            `avatar` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '頭像地址',
                            `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '0' COMMENT '帳號(hào)狀態(tài)(0正常 1停用)',
                            `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '備注',
                            `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '刪除標(biāo)志',
                            `version` int DEFAULT NULL COMMENT '樂觀鎖',
                            `create_by` bigint DEFAULT NULL COMMENT '創(chuàng)建人',
                            `create_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時(shí)間',
                            `update_by` bigint DEFAULT NULL COMMENT '更新人',
                            `update_time` datetime DEFAULT NULL COMMENT '更新時(shí)間',
                            PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='用戶信息';

CREATE TABLE `sys_dept` (
                            `id` bigint NOT NULL AUTO_INCREMENT COMMENT '部門id',
                            `parent_id` bigint DEFAULT '0' COMMENT '父部門id',
                            `dept_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '部門名稱',
                            `order_num` int DEFAULT '0' COMMENT '顯示順序',
                            `status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '部門狀態(tài)(0正常 1停用)',
                            `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '備注',
                            `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '刪除標(biāo)志',
                            `create_by` bigint DEFAULT NULL COMMENT '創(chuàng)建人',
                            `create_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時(shí)間',
                            `update_by` bigint DEFAULT NULL COMMENT '更新人',
                            `update_time` datetime DEFAULT NULL COMMENT '更新時(shí)間',
                            PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='部門信息';

在mapper中繼承 MPJBaseMapper 

再寫一個(gè)mapper繼承MPJBaseMapper

public interface SysUserMapper extends MPJBaseMapper<SysUser> {
}
public interface SysDeptMapper extends MPJBaseMapper<SysDept> {
}

實(shí)現(xiàn)類中繼承 MPJBaseServiceImpl,并實(shí)現(xiàn)service

@Service
public class SysUserServiceImpl extends MPJBaseServiceImpl<SysUserMapper, SysUser> implements SysUserService {
@Autowired
private SysUserMapper sysUserMapper;

/**
 * 測試:列表多表聯(lián)查
 *
 * @return
 */
@Override
public List<SysUser> sysUserList() {
    //構(gòu)建查詢條件
    MPJLambdaWrapper<SysUser> queryWrapper = new MPJLambdaWrapper<>();
    //聯(lián)查
    queryWrapper.selectAll(SysUser.class)
            .select(SysDept::getDeptName)
            .leftJoin(SysDept.class, SysDept::getId, SysUser::getDeptId);
    //返
    return list(queryWrapper);
}

/**
 * 刪除
 *
 * @param id
 * @return
 */
@Override
public Boolean deleteById(Long id) {
    //創(chuàng)建一個(gè)刪除條件
    DeleteJoinWrapper<SysUser> eq = JoinWrappers.delete(SysUser.class)
            //與dept相連
            .leftJoin(SysDept.class, SysDept::getId, SysUser::getDeptId)
            //根據(jù)id刪除
            .eq(SysUser::getId, id);
    return deleteJoin(eq);
}
}

service繼承MPJBaseService

public interface SysUserService extends MPJBaseService<SysUser> {
/**
 * 列表 :多表
 *
 * @return
 */
List<SysUser> sysUserList();

/**
 * 刪除
 *
 * @param id
 * @return
 */
Boolean deleteById(Long id);
}

controller

@RestController
@RequestMapping("/sysUser")
public class SysUserController {
    @Autowired
    private SysUserService sysUserService;

    /**
     * 列表 :多表
     *
     * @return
     */
    @GetMapping("/sysUserList")
    public List<SysUser> sysUserList() {
        return sysUserService.sysUserList();
    }

    /**
     * 刪除
     *
     * @param id
     * @return
     */
    @DeleteMapping("/deleteById/{id}")
    public Boolean deleteById(@PathVariable("id") Long id) {
        return sysUserService.deleteById(id);
    }
}

最后自行測試即可~

總結(jié)

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

相關(guān)文章

  • SpringBoot實(shí)現(xiàn)發(fā)送郵件功能

    SpringBoot實(shí)現(xiàn)發(fā)送郵件功能

    這篇文章主要介紹了SpringBoot 發(fā)送郵件功能實(shí)現(xiàn),本文以163郵箱為例通過這個(gè)小案例給大家介紹,需要的朋友可以參考下
    2019-12-12
  • 2種Java刪除ArrayList中的重復(fù)元素的方法

    2種Java刪除ArrayList中的重復(fù)元素的方法

    這篇文章主要介紹了2種Java刪除ArrayList中的重復(fù)元素的方法,感興趣的朋友可以參考下
    2015-08-08
  • Java多線程之原子類解析

    Java多線程之原子類解析

    這篇文章主要介紹了Java多線程之原子類解析,Java原子類是一種多線程編程中常用的工具,用于實(shí)現(xiàn)線程安全的操作,它們提供了一種原子性操作的機(jī)制,確保多個(gè)線程同時(shí)訪問共享變量時(shí)的數(shù)據(jù)一致性,需要的朋友可以參考下
    2023-10-10
  • JavaCV實(shí)現(xiàn)照片馬賽克效果

    JavaCV實(shí)現(xiàn)照片馬賽克效果

    這篇文章主要介紹了如何通過JavaCV實(shí)現(xiàn)照片馬賽克效果,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)JavaCV有一定的幫助,感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試
    2022-01-01
  • 詳解SpringCloudGateway內(nèi)存泄漏問題

    詳解SpringCloudGateway內(nèi)存泄漏問題

    這篇文章主要介紹了詳解SpringCloudGateway內(nèi)存泄漏問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • SpringBoot使用讀寫鎖解決緩存一致性的問題

    SpringBoot使用讀寫鎖解決緩存一致性的問題

    本文主要介紹了SpringBoot使用讀寫鎖解決緩存一致性的問題,通過在緩存類中維護(hù)一個(gè)讀寫鎖,可以在讀多寫少的場景下提高并發(fā)訪問效率,感興趣的可以了解一下
    2025-03-03
  • jxl 導(dǎo)出數(shù)據(jù)到excel的實(shí)例講解

    jxl 導(dǎo)出數(shù)據(jù)到excel的實(shí)例講解

    下面小編就為大家分享一篇jxl 導(dǎo)出數(shù)據(jù)到excel的實(shí)例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • 帶你重新認(rèn)識(shí)Java動(dòng)態(tài)代理

    帶你重新認(rèn)識(shí)Java動(dòng)態(tài)代理

    這篇文章主要為大家介紹了Java的動(dòng)態(tài)代理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • java啟動(dòng)參數(shù)之謎的排查過程

    java啟動(dòng)參數(shù)之謎的排查過程

    在日常操作中,相信很多人對Java啟動(dòng)參數(shù)存在疑惑,下面這篇文章主要給大家介紹了關(guān)于java啟動(dòng)參數(shù)之謎的排查過程,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • SpringBoot中的@Inherited注解詳解

    SpringBoot中的@Inherited注解詳解

    這篇文章主要介紹了SpringBoot中的@Inherited注解詳解,@Inherited是一個(gè)標(biāo)識(shí),用來修飾注解,如果一個(gè)類用上了@Inherited修飾的注解,那么其子類也會(huì)繼承這個(gè)注解,需要的朋友可以參考下
    2023-08-08

最新評論