1:pom.xml
mysql
mysql-connector-java
org.projectlombok
lombok
true
com.baomidou
mybatis-plus-boot-starter
3.5.1
com.baomidou
mybatis-plus-generator
3.5.1
org.apache.velocity
velocity-engine-core
2.3
com.jslsolucoes
ojdbc6
11.2.0.1.0
org.freemarker
freemarker
2:生成代码
package com.xiaoze;
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.engine.FreemarkerTemplateEngine;
import java.util.Collections;
public class practiceApplication {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/mybatisplus?&serverTimezone=Hongkong", "root", "010429")
.globalConfig(builder -> {
builder.author("小泽") // 设置作者
// .enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.commentDate("yyyy-MM-dd")
.outputDir(System.getProperty("user.dir")+"\src\main\java"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("blogs") // 设置父包名
.moduleName("systems") // 设置父包模块名
.entity("entity")
.service("service")
.serviceImpl("serviceImpl")
.controller("controller")
.mapper("mapper")
.xml("mapper")
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir")+"\src\main\resources")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude("user") // 设置需要生成的表名
.addTablePrefix("t_", "c_") // 设置过滤表前缀
.serviceBuilder()//1:service策略配置
.formatServiceFileName("%sService")
.formatServiceImplFileName("%sServiceImpl")
.entityBuilder()//2:entity策略配置
.enableLombok()
.logicDeleteColumnName("deleted")//说明逻辑删除是那个字段
// .enableTableFieldAnnotation() 属性加上说明注解
.controllerBuilder()//3:controller策略配置
.formatFileName("%sController")
.enableRestStyle()
.mapperBuilder()//4:mapper策略配置
.superClass(baseMapper.class)//继承那个父类
.formatMapperFileName("%sMapper")
.enableMapperAnnotation()//@mapper开启
.formatXmlFileName("%sMapper");//XML名
})
// .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}