简历网站的后端开发

技术栈: SpringBoot,MySQL, MybatisPlus, Knife4J,Lombok 项目初始化 使用Mybatis代码生成器生成实体类,mapper接口&xml文件等; 构建统一返回结果Result类,返回的提示信息统一封装在枚举类中。 项目初始化结构: 这里生成的mapper接口不带@mapper,并且,产生的是swagger2的@Api注解,这就需要我们额外操作。下面是生成代码器的代码 package cn.amebob.cv01; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.config.OutputFile; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; import java.util.Collections; public class CodeGenerator { public static void main(String[] args) { // 1. 数据库配置 String url = "jdbc:mysql://localhost:3306/test_db?serverTimezone=GMT%2B8"; String username = "root"; String password = "root"; FastAutoGenerator.create(url, username, password) .globalConfig(builder -> { builder.author("bob") .enableSwagger() .outputDir(System.getProperty("user.dir") + "/src/main/java"); }) .packageConfig(builder -> { builder.parent("cn.amebob.cv01") .pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir") + "/src/main/resources/mapper")); }) .strategyConfig(builder -> { builder.addInclude("Experience", "Profile", "Project", "ProjectTag", "Tag", "User") .entityBuilder() .enableLombok() .idType(IdType.AUTO) .enableTableFieldAnnotation() .controllerBuilder() .enableRestStyle(); }) .templateEngine(new FreemarkerTemplateEngine()) .execute(); System.out.println("代码生成成功!"); } } 这里Result类可以使用@Builder,方便我们链式调用; ...

January 16, 2026 · 2 min · 273 words · Bob

理解苍穹外卖项目

全局异常处理 通过创建一个基础异常类,该类继承运行时异常, /** * 业务异常 */ public class BaseException extends RuntimeException { public BaseException() { } public BaseException(String msg) { super(msg); } } 而项目中所有业务异常都继承该基础异常类(BaseException) 一个全局异常处理器,处理BaseException,业务流程中抛出的异常,经过该全局异常处理器的捕捉,最后通过一个统一的结果对象返回给前端 /** * 全局异常处理器,处理项目中抛出的业务异常 */ @RestControllerAdvice @Slf4j public class GlobalExceptionHandler { /** * 捕获业务异常 * @param ex * @return */ @ExceptionHandler public Result exceptionHandler(BaseException ex){ log.error("异常信息:{}", ex.getMessage()); return Result.error(ex.getMessage()); } } 统一的返回结果类Result,定义了重载的success静态方法(分别对应有无返回数据),和一个静态error方法。 ...

14 min · 2819 words · Bob
微信二维码

扫一扫,加我微信