1、Maven依赖
<dependencies>
<!-- Mybatis-Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId>
<version>3.0.4</version>
</dependency>
<!-- mysql依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
</dependency>
</dependencies>
2、代码生成类
package com.it.app;
import com.baomidou.mybatisplus.annotation.DbType;
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.NamingStrategy;
/**
* <p>
* 代码生成器
* </p>
*/
public class MybatisPlusGenerator {
private final static String dirPath = "D:\\\\gen-mybatis\\";
/**
* <p>
* MySQL 生成演示
* </p>
*/
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(dirPath);
gc.setAuthor("lxk");
gc.setFileOverride(true);//是否覆盖
gc.setActiveRecord(false);// 不需要ActiveRecord特性的请改为false
gc.setEnableCache(false);// XML 二级缓存
gc.setBaseResultMap(true);// XML ResultMap
gc.setBaseColumnList(true);// XML columList
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("root");
dsc.setUrl("jdbc:mysql://127.0.0.1:3306/rta_xc_1203?useSSL=false" +
"&useUnicode=true" +
"&characterEncoding=utf-8" +
"&zeroDateTimeBehavior=convertToNull" +
"&transformedBitIsBoolean=true" +
"&serverTimezone=GMT%2B8" +
"&nullCatalogMeansCurrent=true" +
"&allowPublicKeyRetrieval=true");
mpg.setDataSource(dsc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setTablePrefix(new String[]{"tb_", "sys_"});// 生成的实体去掉表前缀
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
// strategy.setInclude(new String[] { "user" });// 需要生成的表
// strategy.setExclude(new String[]{"test"});// 排除生成的表
// strategy.setSuperEntityClass("com.baomidou.demo.TestEntity");// 自定义实体父类
// strategy.setSuperEntityColumns(new String[] { "test_id", "age" });// 自定义实体,公共字段
// strategy.setSuperMapperClass("com.baomidou.demo.TestMapper");// 自定义 mapper 父类
// strategy.setSuperServiceClass("com.baomidou.demo.TestService");// 自定义 service 父类
// strategy.setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl");// 自定义 service 实现类父类
// strategy.setSuperControllerClass("com.baomidou.demo.TestController");// 自定义 controller 父类
strategy.setEntityBuilderModel(true);// 实体是否为构建者模型(默认false)
mpg.setStrategy(strategy);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("org.springblade.modules.magus");
pc.setModuleName("equip");
pc.setController("controler");
pc.setEntity("entity");
pc.setMapper("mapper");
pc.setService("service");
pc.setServiceImpl("service.impl");
pc.setXml("mapper");
mpg.setPackageInfo(pc);
// 执行生成
mpg.execute();
System.out.println(">>>>>>>>>>>>>执行完毕!");
}
}
3、生成效果