Mybatis-Plus
-
官网:https://baomidou.com
-
代码生成器(新):https://baomidou.com/pages/779a6e
适用版本:mybatis-plus-generator 3.5.1 及其以上版本,对历史版本不兼容!3.5.1 以下版本请参考代码生成器(旧)
-
点此下载SpringBoot项目-MybatisPlus代码生成器(新)
引入pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.18</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
代码生成器源码
public class Generator {
public static void main(String[] args) {
FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/mybatis_plus_db?useUnicode=true&serverTimezone=GMT&characterEncoding=utf-8", "root", "123456")
.globalConfig(builder -> {
builder.author("LangLingFu")
.enableSwagger()
.disableOpenDir()
.commentDate("yyyy-MM-dd HH:mm")
.outputDir("D://");
})
.packageConfig(builder -> {
builder.parent("com.mp")
.moduleName("samples")
.entity("entity")
.service("service")
.serviceImpl("service.impl")
.mapper("mapper")
.xml("mapper.xml")
.pathInfo(Collections.singletonMap(OutputFile.xml, "D://"))
.controller("controller");
})
.strategyConfig(builder -> {
builder.addInclude("t_user", "tb_user2")
.addTablePrefix("t_", "tb_")
.entityBuilder().disableSerialVersionUID()
.enableChainModel()
.enableLombok()
.enableTableFieldAnnotation()
.enableActiveRecord()
.mapperBuilder().superClass(BaseMapper.class)
.enableMapperAnnotation()
.enableBaseResultMap()
.enableBaseColumnList()
.controllerBuilder().enableHyphenStyle()
.enableRestStyle();
})
.templateEngine(new FreemarkerTemplateEngine())
.execute();
}
}
操作时遇到的小问题
1、运行方法时控制台输出日志乱码
解决方法:在 Run -> Edit Configurations 那里 Add VM options 加上如下配置
-Dfile.encoding=UTF-8
![设置 VM options](https://img-blog.csdnimg.cn/044159ae240c4d61944c8d03d5849184.png)
2、生成的代码不整齐,逼死强迫症
![Velocity 引擎模板](https://img-blog.csdnimg.cn/1f61d7a4848e4253b99fd945785930c4.png)
原因:未设置模板引擎时,默认使用 Velocity 引擎模板(虽然不影响使用,但极度影响观感,呐,就是上面这样)
解决方法:使用 Freemarker 引擎模板
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)