本文旨在记录、分享在依照部分教程及视频创建SpringBoot项目和配置mybatis-plus代码生成器中的步骤以及所遇到问题的解决办法,在问题和步骤描述不尽详细处也给出了部分优秀up主的解决思路。【侵权联删】

环境IntelliJ IDEA 2021.3.3jdk1.8
资料文件
参考

创建Springboot项目(使用Spring Initializr)

新建项目

在这里插入图片描述

1、选择 Spring Initializr
2、设置项目名称 springdemo01
3、设置项目名称 springdemo01
4、选择语言 Java
5、选择项目类型 Maven
6、设置组名 cn.moongazer
7、设置工件名称 SpringBoot
8、选择JDK1.8
9、选择21
10、选择打包方式 Jar

配置Springboot

在这里插入图片描述

1、选择Springboot版本

2、选择 依赖项

  • Developer Tools - Lombok
  • Web - Spring Web
  • SQL- Apache Derby Database 、MySQl Driver

在这里插入图片描述

项目配置

遇到问题及解决办法

项目新建完毕后启动,可能出现包括但不限于以下报错情况:

java: 错误: 无效的源发行版:17

在这里插入图片描述

解决办法:
  1. 进入 设置
  2. 选择 构建、执行、部署
  3. 选择 编译器
  4. 选择 Java编译器
  5. 选择 字节码版本 - 8
  6. 选择 模块 目标字节码版本 - 8

在这里插入图片描述

进入项目结构

  1. 选中 模块
  2. 选中
  3. 选择 语言级别 - 8
  4. 选中 依赖
  5. 选择 模块SDK - 1.8

在这里插入图片描述
在这里插入图片描述
详细步骤可参考 IDEA Error:java: 无效的源发行版: 17错误

java: 无法访问org.springframework.boot.SpringApplication

在这里插入图片描述

解决办法
  1. 进入pom.xml文件
  2. 更改 spring boot 版本 - 2.7.16
  3. 更改 java 版本 - 1.8
  4. 打开maven管理
  5. 选中生命周期
  6. 运行 clean
  7. 重新刷新配置项
    在这里插入图片描述
    开始运行项目
    在这里插入图片描述
    详细步骤可参考 java: 无法访问org.springframework.boot.SpringApplication······类文件具有错误的版本 61.0, 应为 52.0。

ERROR 19468 - APPLICATION FAILED TO START

端口占用
在这里插入图片描述

解决办法1

分别使用windows命令:
netstat -ano|findstr 8080 查看端口占用情况
tasklist |findstr 8080 查看端口占用任务
taskkill /T /F /PID {pid} 强制停止任务
可参考 菜鸟教程
笔者建议使用第二种方法

解决办法2

在appication.yml 配置使用 端口

server:
	port:9090

在这里插入图片描述
通常情况下完成以上步骤即可正常运行。

配置代码生成器

参考内容

此处详尽内容可参考

前期准备材料

文中所涉及到的文件

  • templates文件夹
  • pom.xml文件
  • 工具类 CodeGenerator 和 Result

步骤及内容展示

templates文件夹
内容:
在这里插入图片描述
pom.xml文件添加依赖
添加内容:


        <!--        mybatis-plus 3.5.1+ -->
        <!-- mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version>
        </dependency>
        <!--代码生成器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.1</version>
        </dependency>
        <!-- 模板引擎 -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.3</version>
        </dependency>
        <!--配置ApiModel-->
        <dependency>
            <groupId>com.spring4all</groupId>
            <artifactId>spring-boot-starter-swagger</artifactId>
            <version>1.5.1.RELEASE</version>
        </dependency>
        <!--hutool工具-->
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.22</version>
        </dependency>

新建工具类 CodeGenerator
内容:
在这里插入图片描述

package cn.moongazer.springboot.utils;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;

import java.util.Collections;

public class CodeGenerator {
    public static void main(String[] args) {
        generate();
    }

    private static void generate(){
        // 配置数据库
        /*****************此处需要更改*******************/
        FastAutoGenerator.create("jdbc:mysql://{ip地址}:{端口号}/cheng?serverTimezone=GMT%2b8", "{用户}", "{密码}")
                .globalConfig(builder -> {
                    builder.author("Chengbigdan") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            /*****************此处需要更改*******************/
                            .outputDir("E:\\springdemo01\\src\\main\\java\\"); // 指定输出目录
                })
                .packageConfig(builder -> {
                /*****************此处需要更改*******************/
                    builder.parent("cn.moongazer.springboot") // 设置父包名
                            .moduleName("") // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "E:\\springdemo01\\src\\main\\resources\\mapper\\")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.entityBuilder().enableLombok();
                    builder.mapperBuilder().enableMapperAnnotation().build();
                    builder.controllerBuilder().enableHyphenStyle()
                            .controllerBuilder();
                    /*****************此处需要更改*******************/
                    builder.addInclude("{表名}") // 设置数据库中的表名
                            .addTablePrefix("sys_"); // 设置过滤表前缀
                            //.addTableSuffix("_info"); // 设置过滤表后缀,将生成处理后的实体类
                })
                //.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }

}

运行成功后,会弹出生成文件资源管理器,并且在项目预览区会多出部分包和类。
在这里插入图片描述

在本示例项目中,还需要添加常用类 Result
在这里插入图片描述

package cn.moongazer.springboot.common;

import lombok.*;


/*
* 接口统一的返回包装类
* */
@Data
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Result {

   public static final String CODE_SUCCESS = "200";
   public static final String CODE_AUTH_ERROR = "401";
   public static final String CODE_SYS_ERROR = "500";


   /**
    * 请求的返回编码
    * 编码可以反应请求成功与否以及失败原因
    */
   private String code;
   /**
    * msg表示错误的详细信息
    */
   private String msg;
   /**
    * 返回的错误
    */
   private Object data;

   public static Result success(){
       return new Result(CODE_SUCCESS, "", null);
   }

   public static Result success(Object data){
       return new Result(CODE_SUCCESS, "", data);
   }

   public static Result error(){
       return new Result(CODE_SYS_ERROR, "系统错误", null);
   }

   public static Result error(String msg){
       return new Result(CODE_SYS_ERROR, msg, null);
   }

   public static Result error(String code, String msg){
       return new Result(code, msg, null);
   }
}

后续文章包括本地测试和服务器测试。
文中所涉及到的文件

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐