mybatis-plus代码生成工具类
本文参照 mybatis-plus官方代码生成文档
mybatis-plus 代码生成器配置新
首先引入依赖包
description = 'datasource-common-dependencies'
dependencies {
compile 'com.baomidou:mybatis-plus-boot-starter'
compile 'com.oracle.database.jdbc:ojdbc8'
compile 'com.oracle.database.nls:orai18n'
}
compile(
project(':datasource-common-dependencies')
)
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
implementation 'com.baomidou:mybatis-plus-generator'
implementation 'org.springframework.boot:spring-boot-starter-freemarker'
implementation group: 'org.slf4j', name: 'slf4j-api', version: '2.0.0-alpha7'
implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.3.0-alpha16'
implementation group: 'ch.qos.logback', name: 'logback-core', version: '1.3.0-alpha16'
public class MybatisPlusAutoGenerator {
private static final String URL = "jdbc:oracle:thin:@127.0.0.1:1521:test";
// 数据库用户名
private static final String USERNAME = "test";
// 数据库密码
private static final String PASSWORD = "test123456";
private static final String projectRootPath = System.getProperty("user.dir");
private static final String parentPackageName = "cn.test.demo";
public static void main(String[] args) {
//目标模块
String model ="/base-data";
//路径
String packagePath = projectRootPath + model+"/src/main/java";
// XML文件的路径
String mapperXmlPath = projectRootPath + model+"/src/main/resources/mapper";
String modelName = scanner("请输入模块!");
String modelPackage1 ="."+modelName;
String modelPackage2 ="/"+modelName;
// String modelPackage1 ="";
// String modelPackage2 ="";
//数据库配置
DataSourceConfig.Builder dataSourceConfigBuilder = new DataSourceConfig.Builder(URL, USERNAME, PASSWORD)
.dbQuery(new OracleQuery())
.schema("AAA")
.typeConvert(new MyTypeConvert());
// 开始执行代码生成
FastAutoGenerator.create(dataSourceConfigBuilder)
// 1. 全局配置
.globalConfig(builder -> builder
// 作者名称
.author("Author")
// 开启覆盖已生成的文件。注释掉则关闭覆盖。
// .fileOverride()
// 禁止打开输出目录。注释掉则生成完毕后,自动打开生成的文件目录。
.disableOpenDir()
// 指定输出目录。如果指定,Windows生成至D盘根目录下,Linux or MAC 生成至 /tmp 目录下。
.outputDir(packagePath)
// 开启swagger2.注释掉则默认关闭。
// .enableSwagger()
// 指定时间策略。
.dateType(DateType.ONLY_DATE)
// 注释时间策略。
.commentDate("yyyy-MM-dd")
)
// 2. 包配置
.packageConfig