引入jar包
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.0</version>
</dependency>
<!-- freemarker:mybatis-plus代码生成需要 -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
</dependency>
编辑配置类
public class MyCodeGenerator {
public static void main(String[] args) {
String projectPath = "项目路径";
//代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(projectPath+"/src/main/java");//生成文件的输出目录
gc.setFileOverride(false);//是否覆盖已有文件
gc.setOpen(true);//是否打开输出目录
gc.setEnableCache(false);//是否在xml中添加二级缓存配置
gc.setAuthor("创建者");
gc.setActiveRecord(true); // 是否开启 ActiveRecord 模式
gc.setBaseResultMap(true); // XML ResultMap
gc.setBaseColumnList(true); // XML columList
//自定义命名,需要“%s”占位符
gc.setMapperName("%sMapper");
gc.setXmlName("%sMapper");
gc.setServiceName("%sService");
gc.setServiceImplName("%sServiceImpl");
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);//数据库类型
dsc.setUrl("数据库url");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("username");
dsc.setPassword("password");
mpg.setDataSource(dsc);
// 数据库表配置,通过该配置,可指定需要生成哪些表或者排除哪些表
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
strategy.setEntityBuilderModel(true);
mpg.setStrategy(strategy);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("父级包路径");
pc.setService("service");
pc.setServiceImpl("service.impl");
pc.setMapper("mapper");
pc.setXml("mapper.xml");
pc.setEntity("po");
mpg.setPackageInfo(pc);
//模板引擎配置:默认使用velocity
mpg.setTemplateEngine(new FreemarkerTemplateEngine());
// 执行生成
mpg.execute();
}
}