All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.fanzezhen.common.mp.generator.GeneratorBean Maven / Gradle / Ivy

There is a newer version: 3.0.1-2023.10.13
Show newest version
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