看这篇文章之前,先去看一下我前面的文章:
若依前后端分离整合mybatis-plus_wjdsg的博客-CSDN博客
用过若依都知道,若依自带的代码生成器,是下载下来,然后自己粘贴到若依项目里,不太方便,毕竟已经整合了mybatis-plus。
所有,介绍一款用于若依整合过mybatis-plus代码生成器,自己一直在用:
package com.ruoyi;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import java.util.Collections;
/**
* <dependency>
* <groupId>com.baomidou</groupId>
* <artifactId>mybatis-plus-generator</artifactId>
* <version>3.5.1</version>
* </dependency>
*
* <dependency>
* <groupId>org.apache.velocity</groupId>
* <artifactId>velocity-engine-core</artifactId>
* <version>2.3</version>
* </dependency>
*
* 使用之前先导入依赖
*/
public class Main {
public static void main(String[] args) {
// 数据库配置
String url = "jdbc:mysql://localhost:3306/mucai?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8";
String username = "root";
String password = "123456";
// 作者名字
String author = "wjdsg";
// 包信息,如果想和若依的文件分离开来,把web改成自己的包就好了
String packageName = "com.ruoyi.web";
// 表名字,多张表,逗号隔开
String[] tables = {"aaa","bbb"};
// 本项目路径
String projectPath = System.getProperty("user.dir");
// 包绝对路径
String outputDir =projectPath;
// xml文件路径
String outputDirMapper = projectPath+"/ruoyi-system/src/main/resources/mapper";
FastAutoGenerator
.create(url,username, password)
.globalConfig(builder -> {
builder.author(author) // 设置作者
// .enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir(outputDir); // 指定输出目录
})
.packageConfig(builder -> {
// 如果想和若依的文件分离开来,把web改成自己的包就好了
builder.parent(packageName)// 设置父包名
// 控制层路径
.controller("/ruoyi-admin/src/main/java/com/ruoyi/web/controller")
// 服务层路径
.service("/ruoyi-system/src/main/java/com/ruoyi/web/service")
// 服务实现层路径
.serviceImpl("ruoyi-system/src/main/java/com/ruoyi/web/service/impl")
// 实例层路径
.entity("/ruoyi-system/src/main/java/com/ruoyi/web/domain")
// 持久层路径
.mapper("/ruoyi-system/src/main/java/com/ruoyi/web/mapper")
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, outputDirMapper)); // 设置mapperXml生成路径。注释不生成xml
})
.strategyConfig(builder -> {
builder.addInclude(tables); // 设置需要生成的表名
// .addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
// .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}