边境悍匪头像
关注
蜗牛学苑 Java 智能体学习 Day45|Knife4j+SpringBoot3、书城项目整合 MyBatis 思维导图复盘封面图

蜗牛学苑 Java 智能体学习 Day45|Knife4j+SpringBoot3、书城项目整合 MyBatis 思维导图复盘

一、思维导图整体知识结构梳理

1. Knife4j + SpringBoot3

  1. 核心介绍
    • 作用:接口文档生成工具,基于 OpenAPI3 规范
    • SpringBoot3 注意:使用 jakarta 包,不再是 javax
    • 访问地址:http://localhost: 端口 /doc.html
  2. 引入 Maven 依赖
    • knife4j-openapi3-jakarta-spring-boot-starter
    • 版本推荐:4.5.0
  3. 配置类(OpenAPI3)
    • @Configuration
    • @Bean 生成 OpenAPI 对象
    • 设置文档标题、描述、版本、联系人信息
    • 分组配置:可以按模块拆分接口文档
  4. application.yml 配置
    • springdoc 配置:扫描包,指定 Controller 所在包;开启关闭 swagger
    • knife4j 增强配置:enable 是否开启 knife4j 增强;setting 设置中文、关闭生产环境提示
  5. OpenAPI3 常用注解(SpringBoot3)
    • @Tag:标记 Controller,模块名称,替代旧版 @Api
    • @Operation:标记接口方法,接口说明,摘要
    • @Parameter:描述单个请求参数
    • @Schema:实体类字段注释,替代 @ApiModel/@ApiModelProperty,写在实体类上,描述整个实体;写在属性上:描述字段含义、示例
    • @Hidden:可在类 / 方法 / 属性,文档隐藏不展示
  6. Knife4j 专属增强注解
    • @ApiSupport:放在 Controller 类上,author 作者,order 排序
    • @ApiOperationSupport:加在接口方法上,order 接口排序,ignoreParameters 忽略参数
  7. 使用流程
    • 导入依赖
    • 编写 OpenAPI 配置 Bean
    • Controller、实体添加注解
    • 启动项目访问 doc.html
  8. 常见问题
    • 404:检查端口、上下文路径、包扫描
    • 注解不生效:SpringBoot3 必须用 OpenAPI3 注解;swagger2 注解失效

2. 书城项目 day01 整合 MyBatis(不含分页查询)

  1. 数据库建立
    1. 数据库:bookdb
    2. 数据表 t_book 图书表
      • 字段清单:id 主键,name 书籍名称,type 图书分类 id,provider 出版社,author 作者,img_url 图片路径,store_count 库存数量,buy_count 购买量,read_count 阅读量,status 状态 0 下架,2 上架
      • SQL 建表语句:create table t_book (...)
    3. 其他相关表(简表)
      • t_user 用户表:用户账号密码等
      • t_cart 购物车表:用户 id,书籍 id,购买数量
      • t_order 订单表:订单 id,订单详情
      • t_address 用户收货地址表
  2. 构建工程:SpringBoot 多模块项目
    1. 模块划分
      • book-parent 父工程,打包方式 pom
      • book-common:公共模块,实体类、工具类、常量、枚举
      • book-mapper:mapper,Mapper 接口 + Mapper.xml
      • book-service:业务层,Service 接口 + Service 实现类
      • book-controller:控制层,Controller、项目启动类、yml 配置
      • book-web:前端 Vue 工程
    2. 父工程 pom.xml 作用
      • modules 标签,管理全部子模块
      • 继承 spring-boot-starter-parent
      • dependencyManagement:锁定依赖版本,子模块引入依赖不用写版本号
    3. 模块依赖关系(单向依赖)
      • controller 依赖 service
      • service 依赖 mapper
      • mapper 依赖 common
  3. 依赖与配置文件
    1. 核心依赖
      • spring-boot-starter-web:web 项目,接收 http 请求
      • mybatis-spring-boot-starter:SpringBoot 整合 mybatis
      • druid-spring-boot-starter:德鲁伊连接池
      • mysql-connector-j:mysql 驱动
      • lombok:简化实体类,get、set、toString
      • knife4j-openapi3-jakarta-spring-boot-starter:接口文档
    2. application.yml 配置文件
      • server 配置:port 端口号
      • spring.datasource 数据源配置:driver-class-name,url,username,password;druid 连接池参数:初始连接、最大连接
      • mybatis 配置:mapper-locations:xml 映射文件路径;type-aliases-package:实体类别名包;map-underscore-to-camel-case: true 下划线自动转驼峰;log-impl:打印执行的 SQL 语句,调试用
  4. Book 模块接口编写(MyBatis)
    1. Book 实体类(放 common 模块)
      • @Data、@NoArgsConstructor、@AllArgsConstructor、@Schema 注解,给文档生成字段说明
    2. BookMapper 接口(Mapper 层)
      • @Mapper 注解,标识为 MyBatis 映射接口
      • 方法 1:findBookById (Long id) 根据主键查询单本图书
      • 方法 2:findBookOnline () 查询所有上架书籍 status=2
    3. BookMapper.xml 映射文件
      • namespace:绑定 BookMapper 接口全限定名
      • select 标签,编写 SQL
      • resultMap:配合下划线转驼峰,自动封装 Book 对象
    4. BookService 业务层
      • BookService 接口:定义业务方法 findBookById, findBookOnline
      • BookServiceImpl 实现类
        • @Service 注解
        • @Autowired 注入 BookMapper
        • 实现接口方法,调用 mapper 方法
    5. BookController 控制层
      • @RestController
      • @Tag (图书模块) Knife4j 注解
      • @RequestMapping ("/book") 统一路径前缀
      • @Operation 接口说明
      • @GetMapping ("/{id}") findBookById 接口,路径参数,查询单本图书
      • @GetMapping ("/online") findBookOnline 接口,查询上架全部图书

二、制作意图

  1. 搭建 SpringBoot 多模块工程,掌握父子工程、模块依赖管理,企业项目常用工程结构
  2. 掌握 Knife4j + OpenAPI3 接口文档,学会注解使用、yml 配置,快速生成可在线调试的接口文档
  3. 整合 MyBatis,完成数据库建表、实体、Mapper、Service、Controller 分层开发,熟悉后端标准分层开发流程
  4. 书城项目作为贯穿项目,完成基础查询接口开发,为后续分页、新增、修改、删除、业务功能铺垫

三、当日学习总结

  1. SpringBoot3 使用 Knife4j 必须切换 OpenAPI3 体系,注解全部更换,jakarta 包,不能沿用 swagger2 旧注解,否则文档失效
  2. 多模块项目核心:父工程统一管理版本,子模块单向依赖,职责拆分,便于大型项目维护
  3. MyBatis 整合重点:yml 数据源配置、mapper 映射文件编写、实体类与数据库字段映射、驼峰命名自动转换,SQL 日志调试
  4. 后端开发分层思想:Controller 接收请求 → Service 处理业务 → Mapper 操作数据库,分层解耦,便于后期维护扩展
  5. 书城项目完成基础图书查询接口,可在 Knife4j 文档页面直接测试接口,验证数据库返回数据

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/weixin_75217422/article/details/166140238

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--