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

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

进入项目结构
- 选中 模块
- 选中 源
- 选择 语言级别 - 8
- 选中 依赖
- 选择 模块SDK - 1.8


详细步骤可参考 IDEA Error:java: 无效的源发行版: 17错误
java: 无法访问org.springframework.boot.SpringApplication

解决办法
- 进入pom.xml文件
- 更改 spring boot 版本 - 2.7.16
- 更改 java 版本 - 1.8
- 打开maven管理
- 选中生命周期
- 运行 clean
- 重新刷新配置项

开始运行项目
详细步骤可参考 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);
}
}
后续文章包括本地测试和服务器测试。
文中所涉及到的文件
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)