• 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>
    View Code

       最后在url输入http://localhost:8080/swagger-ui/index.html,查看效果

      使用PostMan测试接口,效果:

      源码下载:https://download.csdn.net/download/haojuntu/12717787

      


  • 相关阅读:
    java、maven环境搭建
    httpclient的get和post
    使用批处理命令定期清理删除指定后缀文件,释放空间
    WebService—规范介绍和几种实现WebService的框架介绍
    Delphi7 ADO面板上的控件简介
    sqlserver中判断表或临时表是否存在
    Delphi中Format与FormatDateTime函数详解
    delphi弹出信息框大全
    Delphi 日期时间函数
    Delphi7数据库编程之TDataSet(转)
  • 原文地址:https://www.cnblogs.com/personblog/p/13513592.html
Copyright © 2020-2023  润新知