spring boot mybatis-plus操作实践

1、先建一个数据表实体类

java 复制代码
package com.qilaike.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.qilaike.common.annotation.Excel;

public class SysDept 
{
    private static final long serialVersionUID = 1L;

    /** 用户ID */
    private Long technicianId;

    /** 门店ID */
    private Long deptId;
    @Excel(name = "门店")
    private String deptName;

    /** 用户账号 */
    @Excel(name = "用户账号")
    private String userName;

    /** 用户昵称 */
    @Excel(name = "用户昵称")
    private String nickName;
    
    /** 姓名 */
    @Excel(name = "姓名")
    private String idName;
}

2、service目录下新建接口IDeptService,然后扩展mp的IService

java 复制代码
package com.qilaike.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qilaike.common.core.domain.entity.SysDept;

public interface IDeptService extends IService<SysDept>{
}

3、service目录的impl目录下新建类 DeptServiceImpl,扩展mp的ServiceImpl,实现接口IDeptService,然后注册@Service 注解

java 复制代码
package com.qilaike.system.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qilaike.common.core.domain.entity.SysDept;
import com.qilaike.system.mapper.DeptMapper;
import com.qilaike.system.service.IDeptService;
import org.springframework.stereotype.Service;

@Service
public class DeptServiceImpl extends ServiceImpl<DeptMapper, SysDept> implements IDeptService {
}

4、DeptMapper 接口需要扩展mp的BaseMapper接口

java 复制代码
public interface SysDeptMapper extends BaseMapper<SysDept>
{
}

5、调试一下看看是否可以使用

java 复制代码
// 部门
LambdaQueryWrapper<SysDept> departmentsLambdaQueryWrapper=new LambdaQueryWrapper<>();
departmentsLambdaQueryWrapper.eq(SysDept::getParentId, deptId);
List<OrgTreeVo> orgTreeVos = new LinkedList<>();
deptService.list(departmentsLambdaQueryWrapper).forEach(dept -> {
    orgTreeVos.add(OrgTreeVo.builder()
            .id(dept.getDeptId())
            .name(dept.getDeptName())
            .selected(false)
            .type("dept")
            .build());
});
相关推荐
露天赏雪4 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
蜗牛87510 小时前
为 Spring Boot 团队做一个 Elasticsearch 查询工作台:六种模式、语义补全与浏览器直连
spring boot
养军博客13 小时前
Spring Boot 3.x + Spring Security 6.x 整合 JWT 实战:jjwt 与 java-jwt 两种工具库详解
java·spring boot·springsecurity
txxzjmzlh1 天前
SpringBoot 统⼀功能处理
java·spring boot·后端
秋天的怀念_David1 天前
算法一千零一夜 · 第二十六夜 协议的母语
java·spring boot·算法
余槐i1 天前
MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s
java·spring boot·mysql·docker·性能优化
nice_lcj5202 天前
【从零理解 Spring AI · 03】Spring AI 在 Spring 生态里的位置
java·spring boot·大模型·spring ai·ai应用开发
AI源码2 天前
旅游推荐管理系统
spring boot
aiks_yuan2 天前
Spring Boot SSE 流式输出变成一次性返回怎么办:大模型打字机效果失效的 5 个原因(Spring Boot 4.1.2 实测)
spring boot
Thomas.Sir2 天前
第15课:SpringBoot连接池详解:HikariCP配置、调优、监控,4.x连接池新特性
java·spring boot