springboot集成Mybatis-plus-join-boot-start詳解
更新時(shí)間:2025年04月17日 09:53:35 作者:guoyangsheng_
這篇文章主要介紹了springboot集成Mybatis-plus-join-boot-start方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(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 '部門(mén)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 '昵稱(chēng)',
`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 '樂(lè)觀鎖',
`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 '部門(mén)id',
`parent_id` bigint DEFAULT '0' COMMENT '父部門(mén)id',
`dept_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '部門(mén)名稱(chēng)',
`order_num` int DEFAULT '0' COMMENT '顯示順序',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '部門(mén)狀態(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='部門(mén)信息';在mapper中繼承 MPJBaseMapper
再寫(xiě)一個(gè)mapper繼承MPJBaseMapper
public interface SysUserMapper extends MPJBaseMapper<SysUser> {
}
public interface SysDeptMapper extends MPJBaseMapper<SysDept> {
}實(shí)現(xiàn)類(lèi)中繼承 MPJBaseServiceImpl,并實(shí)現(xiàn)service
@Service
public class SysUserServiceImpl extends MPJBaseServiceImpl<SysUserMapper, SysUser> implements SysUserService {
@Autowired
private SysUserMapper sysUserMapper;
/**
* 測(cè)試:列表多表聯(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);
}
}最后自行測(cè)試即可~
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java char數(shù)據(jù)類(lèi)型原理解析
這篇文章主要介紹了java char數(shù)據(jù)類(lèi)型原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
詳解IDEA2020新建spring項(xiàng)目和c3p0連接池的創(chuàng)建和使用
C3P0是一個(gè)開(kāi)源的JDBC連接池,它實(shí)現(xiàn)了數(shù)據(jù)源和JNDI綁定,本文就使用Spring實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
springboot集成mqtt的實(shí)踐開(kāi)發(fā)
本篇文章主要介紹了springboot集成mqtt的實(shí)踐開(kāi)發(fā),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
java使用Runtime.getRuntime().exec調(diào)用外部程序
Runtime.getRuntime().exec一般用于調(diào)用外部可執(zhí)行程序或系統(tǒng)命令,并重定向外部程序的標(biāo)準(zhǔn)輸入,準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤到緩沖池,下面我們來(lái)看看Java如何使用它進(jìn)行調(diào)用外部程序吧2025-06-06
淺談spring方法級(jí)參數(shù)校驗(yàn)(@Validated)
這篇文章主要介紹了淺談spring方法級(jí)參數(shù)校驗(yàn)(@Validated),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
SpringBoot應(yīng)用的接口訪問(wèn)從HTTP改為HTTPS
本文主要介紹了SpringBoot應(yīng)用的接口訪問(wèn)從HTTP改為HTTPS,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03

