pom文件
java
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- Spring Boot 父工程 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>4.0.0</version>
<relativePath/>
</parent>
<!-- 项目基本信息 -->
<groupId>com.kunbu</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Spring Boot + MyBatis-Plus 示例项目</description>
<!-- 全局属性配置 -->
<properties>
<java.version>17</java.version>
<!-- 统一 MyBatis-Plus 版本 -->
<mybatis-plus.version>3.5.15</mybatis-plus.version>
<!-- SpringDoc 版本(替代 Swagger2) -->
<springdoc.version>2.6.0</springdoc.version>
</properties>
<dependencies>
<!-- Spring Boot Web 核心依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MyBatis-Plus 核心依赖(已包含 MyBatis,无需重复引入) -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot4-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- MySQL 驱动 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<!-- Lombok 简化代码 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- 测试依赖(整合 Spring Boot 测试 + MyBatis-Plus 测试) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot4-starter-test</artifactId>
<version>${mybatis-plus.version}</version>
<scope>test</scope>
</dependency>
<!-- SpringDoc OpenAPI(替代 Swagger2,适配 Spring Boot 4) -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${springdoc.version}</version>
</dependency>
<!-- 新增:Swagger 2 注解依赖(让 @Api、@ApiOperation 等注解生效) -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.6.14</version>
<scope>compile</scope>
</dependency>
<!-- SpringDoc OpenAPI 核心依赖(已存在) -->
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.6.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Maven 编译插件(指定 Java 版本,适配 Lombok) -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<!-- Spring Boot 打包插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
配置文件
java
```java
package com.kun.config;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* SpringDoc OpenAPI 配置类(适配 Spring Boot 4.0.0)
* 修正了 OpenAPI 无 description 方法的错误
*/
@Configuration
public class SwaggerConfig {
@Bean
public OpenAPI customOpenAPI() {
// 1. 配置作者信息
Contact contact = new Contact()
.name("我是作者姓名") // 作者姓名
.url("https://blog.csdn.net/") // 作者网址
.email("123456789@163.com"); // 作者邮箱
// 2. 配置文档核心信息(包含描述、标题、版本等)
Info info = new Info()
.title("XX项目API") // API 主标题
.description("XX项目SpringDoc OpenAPI接口文档管理") // 文档描述(核心:把描述放在 Info 里)
.version("1.0") // API 版本
.contact(contact) // 关联作者信息
.license(new License() // 许可证信息
.name("SpringDoc使用教程")
.url("https://blog.csdn.net"));
// 3. 构建 OpenAPI 实例(只保留 info 配置,移除错误的 description 调用)
return new OpenAPI()
.info(info); // 仅需关联 Info 对象即可
}
}
另外yml配置
```java
spring:
datasource:
url:
username: root
password:
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
mapper-locations: classpath:mapper/**/*.xml # Mapper XML 文件路径
type-aliases-package: com.自己的包.domain.po # 实体类别名包
configuration:
map-underscore-to-camel-case: true # 下划线转驼峰
启动类
java
@SpringBootApplication
@MapperScan("com.kun.mapper") // 扫描 Mapper 接口包
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
另外接口用mybatisplus自动生成不会的去看黑马的课mybatisplus