目录
删除.properties文件,或者将其修改为.yaml文件,配置.yaml文件
创建一个新的spring web项目
配置.pom文件,引入jar依赖包
MyBatis-Plus依赖包
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- 数据库连接池 druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.6</version>
</dependency>
<!-- lombok 简化set get toString -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
MyBatis-Plus代码生成器依赖包
<!--mybatis-plus 代码生成器依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<!-- Velocity 引擎 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
删除.properties文件,或者将其修改为.yaml文件,配置.yaml文件
# 端口号
server:
port: 8080
# 选择环境
spring:
# 数据库
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: 路径
username: 令牌
password: 密码
# mybatisPlus
mybatis-plus:
# 开启mybatisPlus日志(输出到控制台)
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
主程序入口进行注解配置
@MapperScan("com.example.模块名.mapper")
创建CodeGenerator代码生成器
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
import java.util.ArrayList;
import java.util.List;
public class CodeGenerator {
public static void main(String[] args) {
//数据库连接
String url = "数据库URL";//数据库url
String username = "令牌";//账号
String password = "密码";//密码
//全局配置参数
String author = "骑猪兜风";//作者
String outputDir = System.getProperty("user.dir")+"\\src\\main\\java";//指定输出目录
//包配置参数
String parent = "com.example";//父包名
String moduleName = "父包模块名";//父包模块名
String entity = "entity";//Entity 实体类包名
String mapper = "mapper";//Mapper 包名
String mapperXml = "mapper";//Mapper XML 包名
String service = "service";//Service 包名
String serviceImpl = "service.impl";//Service Impl 包名
/*String controller = "controller";//Controller 包名*/
//要生成的数据库表
List<String> tables = new ArrayList<>();
//添加需要生成的数据库表
tables.add("数据表");
//开始生成
FastAutoGenerator.create(url,username,password)
//全局配置
.globalConfig(builder -> {
builder.author(author)
.outputDir(outputDir)
/*.enableSwagger()//开启swagger*/
.commentDate("yyyy-MM-dd");//注释日期
})
//包配置
.packageConfig(builder -> {
builder.parent(parent)
.moduleName(moduleName)
.entity(entity)
.mapper(mapper)
.xml(mapperXml)
.service(service)
.serviceImpl(serviceImpl)
/*.controller(controller)*/;
})
//策略配置
.strategyConfig(builder -> {
builder.addInclude(tables)
//开启生成实体类
.entityBuilder()
.enableLombok()//开启 lombok 模型
.enableTableFieldAnnotation()//开启生成实体时生成字段注解
//开启生成mapper
.mapperBuilder()
.enableBaseResultMap()//启用 BaseResultMap 生成
.superClass(BaseMapper.class)//设置父类
.enableMapperAnnotation()//开启 @Mapper 注解
.formatMapperFileName("%sMapper")//格式化 mapper 文件名称
.formatXmlFileName("%sMapper")//格式化 xml 实现类文件名称
//开启生成service及impl
.serviceBuilder()
.formatServiceFileName("%sService")//格式化 service 接口文件名称
.formatServiceImplFileName("%sServiceImpl");//格式化 service 实现类文件名称
/*//开启生成controller
.controllerBuilder()
// 映射路径使用连字符格式,而不是驼峰
.enableHyphenStyle()
.formatFileName("%sController")//格式化文件名称
.enableRestStyle();*/
})
.templateEngine(new VelocityTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.templateConfig(builder -> builder.controller(""))//关闭生成controller
.execute();
}
}
配置Swagger
添加Swagger相关依赖jar包
<!-- Swagger相关依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
如果报错,则需要降低spring-boot版本为2.5.0或者2.5.1
创建SwaggerConfig配置类
预览URL:http://localhost:8080/swagger-ui.html
@Configuration //告诉spring容器,这是一个配置类
@EnableSwagger2 //启用swagger2
/**
* 配置Swagger2相关bean
*/
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.模块名.controller"))
.paths(PathSelectors.any()).build();
}
/**
* API页面显示信息
*/
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("标题")
.description("描述")
.termsOfServiceUrl("")
.version("1.0").build();
}