IDEA+Springboot+Mybatis+MySql+Swagger3.0 的实现 增、删、改、查
- 选择File->new->Project
- 创建Group包名,Atrifact项目名
- 添加需要的jar包配置
- 在com.xj.demo包下分别创建config、controller、mapper、model、service包名,注意包名创建后,最好不要修改否则会有奇怪问题
- 编辑application.properties文件,添加MySql、Mybatis参数配置
#基本配置 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/business?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver #使用mysql spring.jpa.database = mysql #是否显示sql语句 spring.jpa.show-sql=true #mybatis配置 mybatis.config-location=classpath:mybatis-config.xml // 配置文件位置 mybatis.typeAliasesPackage=com.xj.demo.model mybatis.mapper-locations=classpath:mapper/*.xml
- 在resources文件下,创建文件夹mapper,并创建User_infoMapper.xml文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.xj.demo.mapper.User_infoMapper"> <!---查询列表--> <select id="selectList" resultType="User_info"> select * from User_info </select> <!-- 增加 --> <insert id="addUser" parameterType="com.xj.demo.model.User_info"> INSERT INTO user_info (id,uname,create_time) VALUES (#{id},#{uname},#{create_time}) </insert> <!-- 修改 --> <update id="editUser" parameterType="com.xj.demo.model.User_info" > update user_info set uname=#{uname},create_time=#{create_time} where id=#{id} </update> <!-- 删除 --> <delete id="delUser" parameterType="java.lang.String" > delete from user_info where id=#{id} </delete> </mapper>
- config、controller、mapper、model、service包下代码如下
Swagger3Config 接口swagger类,需要在pom.xml文件中,添加引用
<!-- swagger3.0 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency>
package com.xj.demo.config; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.Contact; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; @Configuration public class Swagger3Config { @Bean public Docket createRestApi() { return new Docket(DocumentationType.OAS_30) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Swagger3接口文档") .description("更多请咨询服务开发者Ray。") .version("1.0") .build(); } }
model类
package com.xj.demo.model; import java.util.Date; public class User_info { private String id; private String uname; private Date create_time; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return uname; } public void setName(String name) { this.uname = name; } public Date getCreate_time() { return create_time; } public void setCreate_time(Date name) { this.create_time = name; } }
User_infoMapper接口类
package com.xj.demo.mapper; import com.xj.demo.model.User_info; import org.apache.ibatis.annotations.Mapper; import java.util.List; @Mapper public interface User_infoMapper { // 查询列表 public List<User_info> selectList(); //添加 public int addUser(User_info user); //修改 public int editUser(User_info user); //删除 public int delUser(String id); }
User_infoService类
package com.xj.demo.service; import com.xj.demo.mapper.User_infoMapper; import com.xj.demo.model.User_info; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class User_infoService implements User_infoMapper { @Autowired private User_infoMapper uMapper; @Override public List<User_info> selectList() { return uMapper.selectList(); } @Override public int addUser(User_info user) { return uMapper.addUser(user); } @Override public int editUser(User_info user) { return uMapper.editUser(user); } @Override public int delUser(String id) { return uMapper.delUser(id); } }
controller类
package com.xj.demo.controller; import com.xj.demo.model.User_info; import com.xj.demo.service.User_infoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import springfox.documentation.oas.annotations.EnableOpenApi; import java.util.Date; import java.util.List; import java.util.UUID; @Api(tags = "用户信息管理") @RestController @RequestMapping("/user") public class User_infoController { @Autowired private User_infoService userService; @ApiOperation("测试接口") @GetMapping("/hello") public String hello() { return "hello"; } @ApiOperation("增加用户") @PostMapping("/addUser") public int addUser( @RequestBody User_info user){ user.setCreate_time(new Date()); user.setId(UUID.randomUUID().toString()); return userService.addUser(user); } @ApiOperation("删除用户") @PostMapping("/delUser") public int delUser( @RequestBody String id){ return userService.delUser(id); } @ApiOperation("修改用户") @PostMapping("/editUser") public int editUser( @RequestBody User_info user){ user.setCreate_time(new Date()); return userService.editUser(user); } @ApiOperation("查询列表") @GetMapping("/selectList") public List<User_info> selectList() { return userService.selectList(); } }
DemoApplication 类
package com.xj.demo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import springfox.documentation.oas.annotations.EnableOpenApi; @EnableOpenApi //swagger3.0 @SpringBootApplication @MapperScan("com.xj.demo.mapper") public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
pom.xml文件

<?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> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.3.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.xj</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> <kotlin.version>1.4.0</kotlin.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> <!-- swagger3.0 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.2.8.RELEASE</version> </plugin> <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> <version>${kotlin.version}</version> <executions> <execution> <id>compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>test-compile</id> <phase>test-compile</phase> <goals> <goal>test-compile</goal> </goals> </execution> </executions> <configuration> <jvmTarget>1.8</jvmTarget> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <executions> <execution> <id>compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> <execution> <id>testCompile</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
最后在url输入http://localhost:8080/swagger-ui/index.html,查看效果
使用PostMan测试接口,效果:
源码下载:https://download.csdn.net/download/haojuntu/12717787
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律