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

org.yes.tools.generator.utils.MysqlUtils Maven / Gradle / Ivy

There is a newer version: 2.0.4
Show newest version
package org.yes.tools.generator.utils;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.config.rules.IColumnType;

/**
 * @author Co.
 * @date 2022年 11月21日 10:50:58
 */
public class MysqlUtils {
    /**
     * 数据库驱动
     */
    private static final String DATA_SOURCE_DRIVER_CLASS_NAME = "com.mysql.jdbc.Driver";
    private static String DEFAULT_OUT_PUT_DIR = System.getProperty("user.dir") + "\\code";


    public static DataSourceConfig getDataSourceConfig(String dataSourceUrl, String sourceUserName, String sourcePwd) {
        // 2. 数据源配置
        DataSourceConfig dsConfig = new DataSourceConfig();
        // 设置数据库类型
        dsConfig.setDbType(DbType.MYSQL)
                // 数据库驱动名称
                .setDriverName(DATA_SOURCE_DRIVER_CLASS_NAME)
                // 数据库连接url
                .setUrl(dataSourceUrl)
                // 数据库用户
                .setUsername(sourceUserName)
                // 数据库密码
                .setPassword(sourcePwd);
        dsConfig.setTypeConvert(new MySqlTypeConvert() {
            @Override
            public IColumnType processTypeConvert(GlobalConfig globalConfig, String s) {
                if ("datetime".equalsIgnoreCase(s) || "timestamp".equals(s)) {
                    return DbColumnType.DATE;
                }
                return super.processTypeConvert(globalConfig, s);
            }
        });
        return dsConfig;
    }

    public static GlobalConfig getGlobalConfig() {
        // 1. 全局配置
        GlobalConfig config = new GlobalConfig();
        // 是否使用AR模式
        config.setActiveRecord(false)
                // 类作者名称
                .setAuthor("Co.")
                // 代码文件生成路径
                .setOutputDir(DEFAULT_OUT_PUT_DIR)
                // 文件是否覆盖 TODO
                .setFileOverride(true)
                // 主键策略
                .setIdType(IdType.ASSIGN_ID)
                // 设置Entity类的名称格式
                .setEntityName("%sEntity")
                // 设置Mapper类的名称格式
                .setMapperName("%sDao")
                // 设置Service实现类名称格式
                .setServiceImplName("%sServiceImpl")
                // 设置生成的service接口的名字的首字母是否为I
                .setServiceName("%sService")
                // 设置Controller类的名称格式
                .setControllerName("%sController")
                // 实体属性 Swagger2 注解
                .setSwagger2(true)
                // 使用 java.util.date
                .setDateType(DateType.ONLY_DATE)
                // 生成文件后是否打开文件
                .setOpen(false)
                // 在mapper.xml文件中生成基本的resultMap
                .setBaseResultMap(false)
                // 在mapper.xml文件中生成基本的SQL片段
                .setBaseColumnList(false);
        return config;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy