最新产品
This commit is contained in:
86
src/main/java/com/yj/earth/common/util/CodeUtil.java
Normal file
86
src/main/java/com/yj/earth/common/util/CodeUtil.java
Normal file
@ -0,0 +1,86 @@
|
||||
package com.yj.earth.common.util;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
|
||||
import com.baomidou.mybatisplus.generator.config.OutputFile;
|
||||
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
|
||||
import com.baomidou.mybatisplus.generator.fill.Column;
|
||||
import com.yj.earth.datasource.DatabaseManager;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Collections;
|
||||
|
||||
public class CodeUtil {
|
||||
|
||||
// SQLite数据库配置
|
||||
private static String databasePath = null;
|
||||
private static String author = "周志雄";
|
||||
|
||||
public static void main(String[] args) {
|
||||
DatabaseManager.initDatabase(DatabaseManager.DatabaseType.SQLITE);
|
||||
databasePath = DatabaseManager.getSqliteDbFilePath();
|
||||
|
||||
// 检查数据库路径是否有效
|
||||
if (databasePath == null || databasePath.trim().isEmpty()) {
|
||||
throw new RuntimeException("数据库路径未正确初始化");
|
||||
}
|
||||
|
||||
// 确保数据库目录存在
|
||||
File dbFile = new File(databasePath);
|
||||
File parentDir = dbFile.getParentFile();
|
||||
if (!parentDir.exists()) {
|
||||
parentDir.mkdirs();
|
||||
}
|
||||
|
||||
// 传入需要生成代码的表名
|
||||
Generation("file_info");
|
||||
}
|
||||
|
||||
public static void Generation(String... tableName) {
|
||||
// 构建SQLite连接URL
|
||||
String jdbcUrl = "jdbc:sqlite:" + databasePath;
|
||||
|
||||
// FastAutoGenerator 用来创建代码生成器实例
|
||||
FastAutoGenerator.create(jdbcUrl, "", "")
|
||||
.globalConfig(builder -> {
|
||||
builder.author(author)
|
||||
.enableSpringdoc()
|
||||
.outputDir(System.getProperty("user.dir") + "/src/main/java");
|
||||
}).packageConfig(builder -> {
|
||||
builder.entity("domain")
|
||||
.parent("com.yj.earth.business")
|
||||
.controller("controller")
|
||||
.mapper("mapper")
|
||||
.service("service")
|
||||
.serviceImpl("service.impl")
|
||||
.pathInfo(Collections.singletonMap(OutputFile.xml,
|
||||
System.getProperty("user.dir") + "/src/main/resources/mapper"));
|
||||
}).strategyConfig(builder -> {
|
||||
builder.addInclude(tableName)
|
||||
.addTablePrefix("t_")
|
||||
.entityBuilder()
|
||||
.enableLombok()
|
||||
.enableChainModel()
|
||||
.addTableFills(new Column("created_at", FieldFill.INSERT),
|
||||
new Column("updated_at", FieldFill.UPDATE))
|
||||
.naming(NamingStrategy.underline_to_camel)
|
||||
.columnNaming(NamingStrategy.underline_to_camel)
|
||||
.idType(IdType.ASSIGN_UUID)
|
||||
.formatFileName("%s")
|
||||
.mapperBuilder()
|
||||
.enableMapperAnnotation()
|
||||
.enableBaseResultMap()
|
||||
.enableBaseColumnList()
|
||||
.formatMapperFileName("%sMapper")
|
||||
.formatXmlFileName("%sMapper")
|
||||
.serviceBuilder()
|
||||
.formatServiceFileName("%sService")
|
||||
.formatServiceImplFileName("%sServiceImpl")
|
||||
.controllerBuilder()
|
||||
.enableRestStyle()
|
||||
.formatFileName("%sController")
|
||||
.enableHyphenStyle();
|
||||
}).execute();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user