效果:
使用前:
备注:code自己写的,忽略mapper的存在
使用后:
自动生成各个包和包里文件
实现如下:
- 引入依赖POM。XML
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.1.tmp</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
- 写一个main方法生成代码
备注:
数据库配置更换成自己的
dataSourceConfig.setUsername(“root”);
dataSourceConfig.setPassword(“root”);
dataSourceConfig.setUrl(“jdbc:mysql://localhost:3306/time_email?serverTimezone=UTC?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai”)
导出路径
//导出到G:\img,可以自定义
globalConfig.setOutputDir(“G:\img”);
//导出到项目中,不存到本地,建议使用
globalConfig.setOutputDir(System.getProperty(“user.dir”)+"/src/main/java")
设置包名
更换成自己项目路径
packageConfig.setParent(“com.xu.time_email”);
public class Code {
public static void main(String[] args) {
//创建generator对象
AutoGenerator autoGenerator=new AutoGenerator();
//数据源
DataSourceConfig dataSourceConfig=new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL);
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
dataSourceConfig.setUsername("root");
dataSourceConfig.setPassword("root");
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/time_email?serverTimezone=UTC?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai");
autoGenerator.setDataSource(dataSourceConfig);
//全局配置
GlobalConfig globalConfig=new GlobalConfig();
globalConfig.setOpen(false);
globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java");
globalConfig.setAuthor("mengdongxu");
globalConfig.setServiceName("%sService");
// globalConfig.setOutputDir("G:\\img");
globalConfig.setIdType(IdType.ASSIGN_ID);
autoGenerator.setGlobalConfig(globalConfig);
//包信息
PackageConfig packageConfig=new PackageConfig();
packageConfig.setParent("com.xu.time_email");
packageConfig.setController("controller");
packageConfig.setService("service");
packageConfig.setServiceImpl("service.impl");
packageConfig.setMapper("mapper");
packageConfig.setEntity("entity");
autoGenerator.setPackageInfo(packageConfig);
//配置策略
StrategyConfig strategyConfig = new StrategyConfig();
//如果要只生成体格表的代码,需要用strategyConfig.setInclude("user","等表名");
strategyConfig.setEntityLombokModel(true);
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
// strategyConfig.setTableFillList(list);
autoGenerator.setStrategy(strategyConfig);
autoGenerator.execute();
}
}