SpringBoot MyBatisPlus3.4.3自动生成代码
MyBatis-Plus 的代码生成器,通过 自动生成可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。而mybatis-plus-generator 3.5.1+版本的FastAutoGenerator对于历史版本的配置项更简洁。
准备工作
创建springboot工程(这就不多说了)
1.导入依赖
<!-- mybatisplus依赖,注意不用引入mybatis依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.4</version>
</dependency>
<!-- mysql依赖可换成对应版本 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
<!-- mybatis-plus代码生成器依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!-- 自动生成代码的模板引擎,mybatis-plus默认的-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
<!-- 由于生成的controller会用到web的注解-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.新建包名称为generator,创建MyGenerator类
需要对
1.数据源配置,(配置url,username,password等)
2.全局配置, (作者信息,输出目录等)
3.包配置, , (Entity、Mapper、Mapper XML、Service、Controller 等各个模块的包命名等)
4.策略配置, (配置生成那些表,怎么生成等)
注意以下路径需要修改为实制项目路径,要生成的数据库表名需要修改为实制的,数据库源url修改为对应的数据源
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.querys.MySqlQuery;
import com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler;
import java.util.Collections;
/**
* 自动生成类
*
* @author :ShiYI
* @date :Created in 2021/9/28
*/
public class MyGenerator {
public static void main(String[] args) {
FastAutoGenerator.create(
//数据源配置,url需要修改
new DataSourceConfig.Builder("jdbc:mysql://localhost:3306/user_db?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC","root","123456")
.dbQuery(new MySqlQuery())
.schema("mybatis-plus")
.typeConvert(new MySqlTypeConvert())
.keyWordsHandler(new MySqlKeyWordsHandler())
)
//全局配置
.globalConfig(builder -> {
builder.author("ShiYi") // 设置作者
.disableOpenDir()//禁止打开输出目录
//.enableSwagger() // 开启 swagger 模式
//.fileOverride() // 覆盖已生成文件
.outputDir(System.getProperty("user.dir")+"/src/main/java"); // 指定输出目录
})
//包配置
.packageConfig(builder -> {
builder.parent("com.shiyi.mybatis_plus") // 设置父包名,根据实制项目路径修改
//.moduleName("sys")
.entity("pojo")
.service("service")
.serviceImpl("service.impl")
.mapper("mapper")
.xml("mapper.xml")
.controller("controller")
//.other("other")
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir")+"/src/main/resources/mapper"));
})
//策略配置
.strategyConfig(builder -> {
builder.addInclude("t_role") // 设置需要生成的表名
.addTablePrefix("t_", "c_") // 设置过滤表前缀
//.entityBuilder() //实体类配置
//.enableLombok() //使用lombok
//.enableTableFieldAnnotation()//实体类字段注解
//.controllerBuilder()//controller配置
//.enableRestStyle()//开启restcontroller
.mapperBuilder()
.enableMapperAnnotation();//开启mapper注解
.enableBaseResultMap()//启用 BaseResultMap 生成
.enableBaseColumnList();//启用 BaseColumnList
})
//.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
3.点击运行
点击运行上面的主程序就能自动生成了
生成的效果图:
版权声明:本文为weixin_48646819原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。