添加依赖
<!-- 代码生成器依赖开始 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.7</version>
</dependency>
<!-- 代码生成器依赖结束 -->
编写生成代码
public class TestMP {
/**
* 代码生成的示例代码
*/
@Test
public void testGenerator() {
//1.全局策略配置
GlobalConfig gConfig = new GlobalConfig();
gConfig.setActiveRecord(true) //是否支持AR模式
.setAuthor("Ezerbel")//作者
.setOutputDir("D:\\DevEnv\\Workspaces\\Eclipse_workspace\\mp-edu-03\\src\\main\\java")//生成路径
.setFileOverride(true)//二次生成的时候是否支持文件覆盖
.setIdType(IdType.AUTO)//设置主键策略
.setServiceName("%sService")//设置生成的service接口的名字的首字母是否为I,"%sService":该格式使接口首字母前不加I
.setBaseResultMap(true)//生成基本的集映射
.setBaseColumnList(true);//生成基本的SQL片段,列集合?
//2.数据源配置
DataSourceConfig dsConfig = new DataSourceConfig();
dsConfig.setDbType(DbType.MYSQL)//设置数据库类型
.setDriverName("com.mysql.jdbc.Driver")
.setUrl("jdbc:mysql://localhost:3306/mp")
.setUsername("root")
.setPassword("1234");
//3.策略配置
StrategyConfig stConfig = new StrategyConfig();
stConfig.setCapitalMode(true)//开启全局大写命名
.setDbColumnUnderline(true)//指明表名 字段名是否使用下划线
.setNaming(NamingStrategy.underline_to_camel)//下划线对应驼峰命名
.setTablePrefix("tb_")
.setInclude("tb_employee");//设置将来要生成的表
//4.包名策略配置
PackageConfig pkConfig = new PackageConfig();
pkConfig.setParent("com.ezerbel.mp")//设置下面包的父包
.setMapper("mapper")//
.setService("service")
.setEntity("bean")
.setController("controller")
.setXml("mapper");
//5.整合配置
AutoGenerator ag = new AutoGenerator();
ag.setGlobalConfig(gConfig)
.setDataSource(dsConfig)
.setStrategy(stConfig)
.setPackageInfo(pkConfig);
//6.执行
ag.execute();
}
}
执行
执行后需要稍等片刻,刷新项目后出现生成的文件。