1.依赖
<!-- MyBatis Plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.7</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.5.7</version></dependency><!-- 模板引擎 --><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.3</version></dependency>
2.生成器类
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.VelocityTemplateEngine;import java.nio.file.Paths;
import java.util.Collections;public class CodeGenerator {public static void main(String[] args) {String url = "jdbc:mysql://localhost:3306/exam_system_new?useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai";String username = "root";String password = "root";// 父包名String parentPackage = "com.mengya";FastAutoGenerator.create(url, username, password)// 全局配置.globalConfig(builder -> builder.author("mengya").outputDir(Paths.get(System.getProperty("user.dir")) + "/src/main/java").commentDate("yyyy-MM-dd").dateType(DateType.TIME_PACK).enableSpringdoc())// 包配置.packageConfig(builder -> builder.parent(parentPackage).entity("entity").mapper("mapper").service("service").serviceImpl("service.impl").controller("controller").xml("mapper.xml").pathInfo(Collections.singletonMap(OutputFile.xml,Paths.get(System.getProperty("user.dir")) + "/src/main/resources/mapper")))// 策略配置.strategyConfig(builder -> builder// 表配置(关键部分).addInclude("users")// 或者使用表前缀过滤// .addTablePrefix("tbl_", "sys_")// Entity策略配置.entityBuilder().enableLombok().enableTableFieldAnnotation().logicDeleteColumnName("is_deleted")
// .enableFileOverride()// Controller策略配置.controllerBuilder().enableRestStyle().enableHyphenStyle() // 启用连字符风格URL
// .enableFileOverride()// Service策略配置.serviceBuilder()
// .enableFileOverride(allowFileOverride)// Mapper策略配置.mapperBuilder()
// .enableFileOverride(allowFileOverride))// 使用Freemarker模板引擎.templateEngine(new VelocityTemplateEngine())// 执行生成.execute();}
}