
com.github.fanzezhen.common.mp.generator.GeneratorBean Maven / Gradle / Ivy
package com.github.fanzezhen.common.mp.generator;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.github.fanzezhen.common.core.constant.MpConstant;
import com.github.fanzezhen.common.mp.model.entity.BaseEntity;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
/**
* @author zezhen.fan
*/
@Accessors(chain = true)
@Data
public class GeneratorBean {
/**
* 作者
*/
private String author;
/**
* db链接地址
*/
private String dbUrl;
/**
* db用户登录名称
*/
private String dbUsername;
/**
* db用户登录密码
*/
private String dbPassword;
/**
* 模块名(common-mp)
*/
private String moduleName;
/**
* 父包名("com.github.fanzezhen.common.mp.generator")
*/
private String parentPackageName;
private String javaDir;
private String mapperDir;
/**
* 输入表名的分隔符
*/
private String tableNameSplitter;
/**
* 输入的表名字符串
*/
private String tableNameStr;
/**
* 数据表模型类的父类名
*/
private Class> superEntityClass;
/**
* 数据表中的逻辑删除字段
*/
private String logicDeleteColumnName;
/**
* 数据表中的版本号字段
*/
private String versionFieldName;
private String formatFileName;
private String[] ignoreTablePrefix;
private Scanner scanner;
public GeneratorBean() {
setJavaDir(MpConstant.DEFAULT_DIR_JAVA);
setMapperDir(MpConstant.DEFAULT_DIR_MAPPER);
setLogicDeleteColumnName(MpConstant.DEFAULT_LOGIC_DELETE_COLUMN_NAME);
setVersionFieldName(MpConstant.VERSION_FIELD_NAME);
setFormatFileName(MpConstant.DEFAULT_FORMAT_FILE_NAME);
setIgnoreTablePrefix(MpConstant.DEFAULT_IGNORE_TABLE_PREFIX);
setTableNameSplitter(StrUtil.COMMA);
setSuperEntityClass(BaseEntity.class);
}
public GeneratorBean(String dbUrl, String dbUsername, String dbPassword) {
this();
this.dbUrl = dbUrl;
this.dbUsername = dbUsername;
this.dbPassword = dbPassword;
}
/**
*
* 读取控制台内容
*
*/
public String scanner(String tip) {
System.out.println("请输入" + tip + ":");
Scanner scanner = getScanner();
String nextLine = scanner.nextLine();
return StringUtils.isBlank(nextLine) ? scanner.next() : nextLine;
}
public Scanner getScanner() {
if (scanner == null) {
scanner = new Scanner(System.in);
}
return scanner;
}
public List getTableNameList() {
return StrUtil.isBlank(tableNameStr) ? Collections.emptyList() : StrUtil.split(tableNameStr, getTableNameSplitter(), true, true);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy