项目0x01
项目搭建
模块规划:按功能/结构拆分为若干子模块,互相独立
方便拓展、共享、资源调用
通常共用common存放工具类、通用组件,entity存放实体类,其余在management中开发
不共享utils启动类

其中还存在父工程parent,不写代码,仅对pom文件管理
springboot本身自带parent父工程,java单继承,这里让统一的parent继承spbt的parent即可
springboot作为启动器,其余javaMaven模块即可,使用Web、Mybatis框架、MySQLdriver

结构pom
点击查看代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--父工程-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.5.13</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--坐标-->
<groupId>org.Gchaoyang</groupId>
<artifactId>qk-parent-AI</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<!--聚合-->
<modules>
<module>qk-common</module>
<module>qk-entity</module>
<module>qk-management1</module>
</modules>
<!--属性-->
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
9.17management依赖解读:
依赖配置:父工程parent统一的依赖配置
对于子项目,某些可不指定版本号,依托与其父工程的版本号(继承)
版本号在父工程声明,统一使用父工程版本号
版本号管理:使用dependenceManagement将带版本号的统一放到父工程中
其中dependenceManagement只维护版本号,并不会引入依赖
对版本号提取:自定义,可以快捷键ctrl + alt + v
<properties>
<xxx>版本号</xxx>
</properties>
至此,后续使用时可以直接引用
<version>${xxx}</version>
开发范式:前后端交互规范:所有的响应形式统一
后端开发:规范接口文档等后端规范,测试通过后,采用前后端联调测试
前后端分离开发:前端Nginx (页面);后端tomcat(Spboot内嵌)(接口);
前端发送请求调用后端接口,后端响应给页面
API风格:Restful
Rest:用url定位资源、http描述动作
GET
http://localhost:8080/users/1
DELETE
http://localhost:8080/users/1
POST
http://localhost:8080/users
PUT修改
http://localhost:8080/users/1
APIfox:测试除get请求
API调试、Mock(生成模拟测试)、测试的一体化平台
部门管理
准备
创建数据库&实体类
- 创建数据库,并创建部门表结构
使用AI,然后校验一下
对于数据库:
-
在配置信息中注明:使用数据库,会自动点名

-
创建SQL文件夹、sql文件

由于非数据库点名,还需右上角额外指定数据库

- 引入部门实体类(一表对应一类)
其中:实体类名要和表名一致、实体类属性名要和表字段名相同

- 准备包接口及部门管理的基础代码结构(controller、service、mapper)
management中创建三层架构

点击查看代码
@RestController(控制层):专门处理 HTTP 请求并返回数据(JSON/XML 等
@Service(业务层:交给 Spring 容器管理
@Mapper(数据访问层 - MyBatis 接口:标记该接口为 MyBatis 的 Mapper,让 Spring 为其生成动态代理对象,直接操作数据库
- 配置application.yml(数据库信息、mybatis配置)
对于复杂sql还需xml配置:使用后无法同包同名,必须在mapper中
# mybatis的xml映射文件路径
mapper-locations: classpath:mapper/*.xml
Mapper下DeptMapper

引入management.xml中common、entity的模块依赖

版本号统一规制父工程
新增
功能开发

Controller接受json格式请求(Post、Put)参数,使用实体类接收
JSON数据键名与方法形参对象属性名相同,并使用 @RequestBody注解
12.16

浙公网安备 33010602011771号