代码如下
package com.cbc.yq;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.converts.OracleTypeConvert;
import com.baomidou.mybatisplus.generator.config.querys.OracleQuery;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
import java.util.Collections;
import java.util.HashMap;
/**
* 代码生成器
*
* @author: yinzhe
* @since: 2023/3/27 10:11
*/
public class CodeGenerator2 {
public static void main(String[] args) {
// FastAutoGenerator
DataSourceConfig dataSourceConfig =
new DataSourceConfig.Builder(
"jdbc:oracle:thin:@192.168.227.135:1521:orcl", "sht", "orcl1234")
.dbQuery(new OracleQuery())
.schema("SHT")
.typeConvert(new OracleTypeConvert())
.build();
AutoGenerator autoGenerator = new AutoGenerator(dataSourceConfig);
GlobalConfig globalConfig =
new GlobalConfig.Builder()
.fileOverride()
// .outputDir("C://workspace-eclipse//demo//src//main/java")
.outputDir("C:\\workspace-eclipse\\demo\\src\\main\\java")
.author("yinzhe") // .enableKotlin()
.enableSwagger()
.dateType(DateType.TIME_PACK)
.commentDate("yyyy-MM-dd")
.build();
PackageConfig packageConfig =
new PackageConfig.Builder()
.parent("com.cbc.yq")
.moduleName("sys")
.entity("po")
.service("service")
.serviceImpl("service.impl")
.mapper("mapper")
.xml("mapper.xml")
.controller("controller")
.other("other")
.pathInfo(
Collections.singletonMap(
OutputFile.mapperXml, "C:\\workspace-eclipse\\demo\\src\\main\\resources\\2"))
.build();
TemplateConfig templateConfig =
new TemplateConfig.Builder()
.disable(TemplateType.ENTITY)
.entity("/templates/entity.java")
.service("/templates/service.java")
.serviceImpl("/templates/serviceImpl.java")
.mapper("/templates/mapper.java")
.mapperXml("/templates/mapper.xml")
.controller("/templates/controller.java")
.build();
// InjectionConfig injectionConfig =
// new InjectionConfig.Builder()
// .customFile(new HashMap<>())
// // .beforeOutputFile(
// // (tableInfo, objectMap) ->
// // System.out.println(
// // "tableInfo: "
// // + tableInfo.getEntityName()
// // + " objectMap: "
// // + objectMap.size()))
// // .customMap(Collections.singletonMap("test", "baomidou"))
// //.customFile(Collections.singletonMap("test.txt",
// "C:\\workspace-eclipse\\demo\\test.vm"))
// .build();
StrategyConfig strategyConfig =
new StrategyConfig.Builder()
.enableCapitalMode()
.enableSkipView()
.disableSqlFilter()
// .likeTable(new LikeTable("USER"))
// 所有表
// .addInclude(Collections.emptyList())
.addInclude("GOODS")
// .addTablePrefix("t_", "c_")
// .addFieldSuffix("_flag")
.build();
autoGenerator
.global(globalConfig)
.packageInfo(packageConfig)
// .injection(injectionConfig)
.strategy(strategyConfig)
.template(templateConfig)
.execute(new FreemarkerTemplateEngine());
}
}
错误原因:没有正确引用jar包
添加
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.5.1</version>
</dependency>
所有jar包如下
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.9.0.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>3.5.1</version>
</dependency>