最简便的反向类生成方法
package com.example.springboot_demo;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import org.junit.Test;
/**
-
类名称:GeneratorTest
-
类描述:TODO
-
创建人:筱
-
创建时间:
-
Version 1.0
*/
public class GeneratorTest {@Test
public void generateCode() {
/包名/
String packageName = "com.example.springboot_demo";
/表名/
generateByTables(packageName, "test_a");
}private void generateByTables(boolean serviceNameStartWithI, String packageName, String... tableNames) {
GlobalConfig config = new GlobalConfig();/*数据连接地址和数据库名*/ String dbUrl = "jdbc:mysql://localhost:3306/test1?serverTimezone=GMT"; DataSourceConfig dataSourceConfig = new DataSourceConfig(); /*连接的数据库类型:mysql,sqlserver等*/ dataSourceConfig.setDbType(DbType.MYSQL) /*数据库地址*/ .setUrl(dbUrl) /*mysql账号*/ .setUsername("root") /*mysql密码*/ .setPassword("") .setDriverName("com.mysql.cj.jdbc.Driver"); StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig .setCapitalMode(true) .setEntityLombokModel(false) .setDbColumnUnderline(true) .setNaming(NamingStrategy.underline_to_camel) .setTablePrefix("sys_", "qd_")// 此处可以修改为您的表前缀 .setEntityColumnConstant(false) // 生成字段常量 .setInclude(tableNames); // 修改替换成你需要的表名,多个表名传数组 config.setActiveRecord(false) .setEnableCache(false) // XML 二级缓存 .setBaseResultMap(true) .setBaseColumnList(true) .setAuthor("xiaoZe") //作者 .setOutputDir("D:\\Config") //输出目录 .setFileOverride(true); if (!serviceNameStartWithI) { config.setServiceName("%sService"); } new AutoGenerator() .setTemplateEngine(new FreemarkerTemplateEngine()) .setGlobalConfig(config) .setDataSource(dataSourceConfig) .setStrategy(strategyConfig) .setPackageInfo( new PackageConfig() .setParent(packageName) .setController("controller") //控制层所在的包名 .setEntity("entity") //实体类所在的包名 ).execute();
}
private void generateByTables(String packageName, String... tableNames) {
generateByTables(true, packageName, tableNames);
}
}