MyBatisPlus学习笔记(三)MP代码生成器
文章目录
- MyBatisPlus学习笔记(三)MP代码生成器
- 简介
- 模板引擎
- slf4j日志
- 代码
简介
- MyBatisPlus的代码生成器,提供了大量的自定义设置,生成的代码完全能够满足各类型的需求依赖
- MP 的代码生成器 和 Mybatis MBG 代码生成器:
- MP 的代码生成器都是基于 java 代码来生成。MBG 基于 xml 文件进行代码生成
- MyBatis 的代码生成器可生成: 实体类、Mapper 接口、Mapper 映射文件
- MP 的代码生成器可生成: 实体类(可以选择是否支持 AR)、Mapper 接口、Mapper 映射文件、 Service 层、Controller 层.
模板引擎
- MP 的代码生成器默认使用的是 Apache 的 Velocity 模板
<!-- 默认的模板依赖 -->
<!-- Apache velocity -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
<!-- 如需自定义模板引擎,还需加上这个依赖 -->
<!-- 模板引擎,需要指定 mpg.setTemplateEngine(new FreemarkerTemplateEngine()); -->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>最新版本</version>
</dependency>
slf4j日志
<!-- sfl4j -->
<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) // 是否支持ActiveRecord
.setEnableCache(false) // 是否开启二级缓存
.setAuthor("孔明") // 设置作者
.setOutputDir("H:\\workspace\\eclipse-Project\\mp3\\src\\main\\java") // 生成路径(绝对路径)
.setFileOverride(true) // 文件覆盖
.setBaseResultMap(true) // mapper映射文件是否生成BaseResultMap
.setBaseColumnList(false) // XML 是否生成BaseColumn
// 自定义文件命名,注意 %s 会自动填充表实体属性!
.setServiceName("%sService"); // 设置生成的service接口的名字的首字母是否为I
// 数据源配置
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") // mapper接口
.setXml("mapper") // xml文件
.setService("service") // service文件
.setServiceImpl("service.impl") // serviceImpl文件
.setController("controller"); // controller层的包
// 整合配置
AutoGenerator autoGenerator = new AutoGenerator();
autoGenerator.setGlobalConfig(globalConfig)
.setDataSource(source)
.setPackageInfo(packageConfig)
.setStrategy(strategy);
// 执行代码生成器
autoGenerator.execute();
}
}
更多推荐
MyBatisPlus学习笔记(三)MP代码生成器
发布评论