MyBatisPlus学习笔记(三)MP代码生成器
简介
- MyBatisPlus的代码生成器,提供了大量的自定义设置,生成的代码完全能够满足各类型的需求依赖
- MP 的代码生成器 和 Mybatis MBG 代码生成器:
- MP 的代码生成器都是基于 java 代码来生成。MBG 基于 xml 文件进行代码生成
- MyBatis 的代码生成器可生成: 实体类、Mapper 接口、Mapper 映射文件
- MP 的代码生成器可生成: 实体类(可以选择是否支持 AR)、Mapper 接口、Mapper 映射文件、 Service 层、Controller 层.
模板引擎
- MP 的代码生成器默认使用的是 Apache 的 Velocity 模板
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>最新版本</version>
</dependency>
slf4j日志
<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 MBGTest {
public static void main(String[] args) {
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setActiveRecord(true)
.setEnableCache(false)
.setAuthor("孔明")
.setOutputDir("H:\\workspace\\eclipse-Project\\mp3\\src\\main\\java")
.setFileOverride(true)
.setBaseResultMap(true)
.setBaseColumnList(false)
.setServiceName("%sService");
DataSourceConfig source = new DataSourceConfig();
source.setDbType(DbType.MYSQL)
.setDriverName("com.mysql.jdbc.Driver")
.setUrl("jdbc:mysql://localhost:3306/mp")
.setUsername("root")
.setPassword("root");
StrategyConfig strategy = new StrategyConfig();
strategy.setCapitalMode(true)
.setDbColumnUnderline(true)
.setNaming(NamingStrategy.underline_to_camel)
.setTablePrefix("tbl_")
.setInclude("tbl_employee");
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.fu")
.setEntity("bean")
.setMapper("mapper")
.setXml("mapper")
.setService("service")
.setServiceImpl("service.impl")
.setController("controller");
AutoGenerator autoGenerator = new AutoGenerator();
autoGenerator.setGlobalConfig(globalConfig)
.setDataSource(source)
.setPackageInfo(packageConfig)
.setStrategy(strategy);
autoGenerator.execute();
}
}