第一步:我们需要添加我们MybatisPlus自动生成代码器的相关依赖
<!-- mybatis-plus 自动代码生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<!--velocity模板-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.3</version>
</dependency>
<!--freemarker模板-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.5.0</version>
</dependency>
第二步:编写我们的自动生成器的代码:
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Code {
public static void main(String[] args) {
List<String> tables = new ArrayList<>();
tables.add("employee"); //这里是修改成需要自动生成的表名
FastAutoGenerator.create("jdbc:mysql://localhost:3306/springboot?userSSL=false&userUnicode=true&characterEncoding=UTF-8",
"root","root") //这里修改成自己数据库地址密码等
.globalConfig(builder -> {
builder.author("屈先生") //作者
//是否打开当前目录的文件夹
.disableOpenDir()
.dateType(DateType.ONLY_DATE)
//user.dir 获取当前项目路径
.outputDir(System.getProperty("user.dir")+"/src/main/java") //输出路径(写到java目录)
.enableSwagger() //开启swagger
.commentDate("yyyy-MM-dd")
.fileOverride(); //开启覆盖之前生成的文件
})
//包配置
.packageConfig(builder -> {
builder.parent("com.teng.boot")
//.moduleName("department")
.entity("pojo")
.service("service")
.serviceImpl("serviceImpl")
.controller("controller")
.mapper("mapper")
.xml("mapper")
.pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir")+"/src/main/resources/mapper"));
})
//策略配置
.strategyConfig(builder -> {
//设置要映射的表
builder.addInclude(tables)
.addTablePrefix("p_")
.serviceBuilder()
.formatServiceFileName("%sService") //去Service 的I前缀
.formatServiceImplFileName("%sServiceImpl")
.entityBuilder()
//启动Lombok
.enableLombok()
//配置逻辑删除策略
.logicDeleteColumnName("deleted")
.enableTableFieldAnnotation()
.controllerBuilder()
.formatFileName("%sController")
.enableRestStyle()
.mapperBuilder()
.enableBaseResultMap() //生成通用的resultMap
.superClass(BaseMapper.class)
.formatMapperFileName("%sMapper")
.enableMapperAnnotation()
.formatXmlFileName("%sMapper");
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
然后点击运行我们的code,代码就自动生成了!