欢迎光临
我们一直在努力

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

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

1. Knife4j + SpringBoot3

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

  • 数据库建立
  • 数据库:bookdb
  • 数据表 t_book 图书表
    • 字段清单:id 主键,name 书籍名称,type 图书分类 id,provider 出版社,author 作者,img_url 图片路径,store_count 库存数量,buy_count 购买量,read_count 阅读量,status 状态 0 下架,2 上架
    • SQL 建表语句:create table t_book (…)
  • 其他相关表(简表)
    • t_user 用户表:用户账号密码等
    • t_cart 购物车表:用户 id,书籍 id,购买数量
    • t_order 订单表:订单 id,订单详情
    • t_address 用户收货地址表
  • 构建工程:SpringBoot 多模块项目
  • 模块划分
    • book-parent 父工程,打包方式 pom
    • book-common:公共模块,实体类、工具类、常量、枚举
    • book-mapper:mapper,Mapper 接口 + Mapper.xml
    • book-service:业务层,Service 接口 + Service 实现类
    • book-controller:控制层,Controller、项目启动类、yml 配置
    • book-web:前端 Vue 工程
  • 父工程 pom.xml 作用
    • modules 标签,管理全部子模块
    • 继承 spring-boot-starter-parent
    • dependencyManagement:锁定依赖版本,子模块引入依赖不用写版本号
  • 模块依赖关系(单向依赖)
    • controller 依赖 service
    • service 依赖 mapper
    • mapper 依赖 common
  • 依赖与配置文件
  • 核心依赖
    • 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:接口文档
  • 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 语句,调试用
  • Book 模块接口编写(MyBatis)
  • Book 实体类(放 common 模块)
    • @Data、@NoArgsConstructor、@AllArgsConstructor、@Schema 注解,给文档生成字段说明
  • BookMapper 接口(Mapper 层)
    • @Mapper 注解,标识为 MyBatis 映射接口
    • 方法 1:findBookById (Long id) 根据主键查询单本图书
    • 方法 2:findBookOnline () 查询所有上架书籍 status=2
  • BookMapper.xml 映射文件
    • namespace:绑定 BookMapper 接口全限定名
    • select 标签,编写 SQL
    • resultMap:配合下划线转驼峰,自动封装 Book 对象
  • BookService 业务层
    • BookService 接口:定义业务方法 findBookById, findBookOnline
    • BookServiceImpl 实现类
      • @Service 注解
      • @Autowired 注入 BookMapper
      • 实现接口方法,调用 mapper 方法
  • BookController 控制层
    • @RestController
    • @Tag (图书模块) Knife4j 注解
    • @RequestMapping ("/book") 统一路径前缀
    • @Operation 接口说明
    • @GetMapping ("/{id}") findBookById 接口,路径参数,查询单本图书
    • @GetMapping ("/online") findBookOnline 接口,查询上架全部图书
  • 二、制作意图

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

  • SpringBoot3 使用 Knife4j 必须切换 OpenAPI3 体系,注解全部更换,jakarta 包,不能沿用 swagger2 旧注解,否则文档失效
  • 多模块项目核心:父工程统一管理版本,子模块单向依赖,职责拆分,便于大型项目维护
  • MyBatis 整合重点:yml 数据源配置、mapper 映射文件编写、实体类与数据库字段映射、驼峰命名自动转换,SQL 日志调试
  • 后端开发分层思想:Controller 接收请求 → Service 处理业务 → Mapper 操作数据库,分层解耦,便于后期维护扩展
  • 书城项目完成基础图书查询接口,可在 Knife4j 文档页面直接测试接口,验证数据库返回数据
  • 赞(0)
    未经允许不得转载:171主机测评 » 蜗牛学苑 Java 智能体学习 Day45|Knife4j+SpringBoot3、书城项目整合 MyBatis 思维导图复盘
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址