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 發(fā)送郵件功能實(shí)現(xiàn),本文以163郵箱為例通過這個(gè)小案例給大家介紹,需要的朋友可以參考下2019-12-122種Java刪除ArrayList中的重復(fù)元素的方法
這篇文章主要介紹了2種Java刪除ArrayList中的重復(fù)元素的方法,感興趣的朋友可以參考下2015-08-08詳解SpringCloudGateway內(nèi)存泄漏問題
這篇文章主要介紹了詳解SpringCloudGateway內(nèi)存泄漏問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07jxl 導(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)代理
這篇文章主要為大家介紹了Java的動(dòng)態(tài)代理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-11-11