简历网站的后端开发

技术栈: 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

就业要求分析

To be or not to be … That is a question 后端开发/研发方向 滴滴公司 携程 阿里云 大模型-AI 京东 先深入理解机器学习算法的理论基础,然后学习使用一个或多个主流的机器学习框架来动手实践,将理论应用于解决实际问题。 阿里云 GO other way 车企风华 Tesla 算法工程师,CV方向-上海 The Role Tesla’s Data Algorithms team is at the forefront of industrial intelligence R&D. Through our self-developed data and algorithm platform, we empower critical business areas such as manufacturing, supply chain, sales, service, and charging networks, transforming massive data into high-value assets that drive better products and enhanced user experiences. ...

September 26, 2025 · 3 min · 430 words · Bob

练习使用MybatisPlus

基础使用 使用步骤 引入依赖 自己的mapper接口继承BaseMapper 我们可以看到(下图)baseMapper有着一系列的基础数据库操作 实体类配置 MybatisPlus通过以下实现CRUD数据库表信息 •默认以类名驼峰转下划线作为表名 •默认把名为id的字段作为主键 •默认把变量名驼峰转下划线作为表的字段名 MybatisPlus的常用注解: •@TableName:指定表名称及全局配置 •@TableId:指定id字段及相关配置 •@TableField:指定普通字段及相关配置 @TableField的常见场景: •成员变量名与数据库字段名不一致 •成员变量名以is开头,且是布尔值 •成员变量名与数据库关键字冲突 •成员变量不是数据库字段 yaml配置 mybatis-plus: #注册别名后,就不用在xml中写全路径名称了 type-aliases-package: com.itheima.mp.domain.po # 其它很多配置都不用配置,使用默认值即可 mybatisPlus不仅实现了一些基础的单表查询mapper,甚至提供了service接口,借助该接口能够完成一些基础业务 IService 通过一个接口和一个实现类来协调完成这些基础功能的实现 扩展插件 逻辑删除 直接再yaml中配置,配置完成后,原来删除方法如,deleteById,就会执行逻辑删除 mybatis-plus: global-config: db-config: # 逻辑删除字段名(在数据表中的) logic-delete-field: deleted # 逻辑已删除值(默认为 1) logic-delete-value: 1 # 逻辑未删除值(默认为 0) logic-not-delete-value: 0 JSON处理器 能够将数据库中存储的json数据,解析为对象 步骤:1.注入字段使用注解;2.创建实体类 @Data @TableName(value = "user", autoResultMap = true) public class User { ... /** * 详细信息 */ @TableField(typeHandler = JacksonTypeHandler.class) private Map<String, Object> info; ... } @Data @AllArgsConstructor(staticName = "of") //便于静态构造创建对象 @NoArgsConstructor public class UserInfo { private Integer age; private String intro; private String gender; } 分页插件 单独的分页插件依赖 ...

September 18, 2025 · 1 min · 139 words · Bob

理解AI开发的博客程序

Docker 配置数据源和中间件 docker-compose up -d mysql redis 命令组成: docker-compose:调用容器编排工具 up:核心操作指令,会根据配置文件创建/重建容器 -d:表示以分离模式(后台)运行‌ 执行流程: 首先检查当前目录下的docker-compose.yml文件 创建所需的网络和存储卷 按依赖顺序启动MySQL和Redis容器‌ docker exec bs-blog-mysql mysqladmin ping -h localhost -u root -p123456 命令结构: docker exec:在运行中的容器内执行命令 bs-blog-mysql:目标容器名称 mysqladmin ping:MySQL管理工具的健康检查指令 -h localhost:指定连接本地MySQL实例 -u root:使用root账户连接 -p123456:指定数据库密码 预期响应: 若服务正常会返回 mysqld is alive 若连接失败可能返回 Access denied 或连接超时错误

1 min · 45 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

重大技术栈转变

重大技术栈转变 关于目前在学企业级技术栈SpringBoot 生态向 Node.js生态转换的决定 为了统一所学技术栈,终结前后端语言割裂的现象,践行全端(前后、移动、PC) 也便于日后JavaScript向TypeScript转变 Node.js Express 是 Node.js的一个库,提供了一些扩展: Express对 Node.js 的 HTTP 模块进行了封装,提供了更加简洁和灵活的 API 来构建 Web 应用和 API。 功能对比 特性 Node.js 原生 Express 路由处理 需手动解析 URL 和方法 提供简洁的路由 API 中间件支持 需自行实现 内置中间件机制 请求处理 需手动解析请求体 提供 body-parser 等工具 响应处理 需手动设置响应头 简化的响应方法 静态文件服务 需手动实现 一行代码搞定 错误处理 需自行处理 统一错误处理机制 现代 Node.js 技术栈 1. 框架生态 Express: 最流行的轻量级框架 Koa: Express 的下一代框架 Fastify: 高性能 Web 框架 NestJS: 受 Angular 和Spring 启发的企业级框架 Hapi: 配置驱动的框架 2. 适用实时应用 Node.js 的事件驱动和非阻塞 I/O 特性使其非常适合实时应用 ...

2 min · 231 words · Bob
微信二维码

扫一扫,加我微信