Search in sources :

Example 1 with Column

use of com.baomidou.mybatisplus.generator.fill.Column in project FCLProject by FlowingCloudL.

the class CodeGenerator method main.

public static void main(String[] args) {
    String packagePath = System.getProperty("user.dir") + "/fp-mall/fp-mall-order/src/main/java";
    FastAutoGenerator.create("jdbc:mysql://localhost:3306/fp_mall_oms?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC", "root", "123456").globalConfig(builder -> builder.outputDir(packagePath).author("FlowingCloudL").enableSwagger().fileOverride()).packageConfig(builder -> builder.parent("com.fp.mall.order.quick")).strategyConfig(builder -> builder.addInclude(getTables("all")).entityBuilder().enableLombok().addTableFills(new Column("create_time", FieldFill.INSERT), new Column("update_time", FieldFill.UPDATE)).build()).templateEngine(// 使用Freemarker引擎模板,默认的是Velocity引擎模板
    new FreemarkerTemplateEngine()).execute();
}
Also used : Arrays(java.util.Arrays) List(java.util.List) FastAutoGenerator(com.baomidou.mybatisplus.generator.FastAutoGenerator) Column(com.baomidou.mybatisplus.generator.fill.Column) FieldFill(com.baomidou.mybatisplus.annotation.FieldFill) FreemarkerTemplateEngine(com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine) Collections(java.util.Collections) Column(com.baomidou.mybatisplus.generator.fill.Column) FreemarkerTemplateEngine(com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine)

Example 2 with Column

use of com.baomidou.mybatisplus.generator.fill.Column in project xuxiaowei-cloud by xuxiaowei-cloud.

the class MyBatisPlusGeneratorTests method main.

public static void main(String[] args) {
    DataSourceConfig.Builder dataSourceConfig = new DataSourceConfig.Builder("jdbc:mysql://127.0.0.1:3306/xuxiaowei_cloud", "root", "root").dbQuery(new MySqlQuery()).schema("users").typeConvert(new MySqlTypeConvert()).keyWordsHandler(new MySqlKeyWordsHandler());
    String userDir = System.getProperty("user.dir");
    String fileSeparator = System.getProperty("file.separator");
    List<Module> moduleList = Arrays.asList(new Module("authorization-server", "cloud.xuxiaowei.authorizationserver"), new Module("cloud-commons-parent" + fileSeparator + "cloud-starter-core", "cloud.xuxiaowei.core"), new Module("resource-server", "cloud.xuxiaowei.resourceserver"));
    System.out.println("项目文件夹:" + userDir);
    System.out.println("模块列表:");
    for (int i = 0; i < moduleList.size(); i++) {
        Module module = moduleList.get(i);
        System.out.println("序号:" + i + ":" + module.getModuleFolder() + ":" + module.getPackageName());
    }
    int moduleNumber = scannerInt("请输入模块名序号?");
    Module module = moduleList.get(moduleNumber);
    String moduleFolder = module.getModuleFolder();
    String packageName = module.getPackageName();
    String[] packageNameSplit = packageName.split("\\.");
    String xmlFolder = packageNameSplit[packageNameSplit.length - 1];
    String mainFolder = userDir + fileSeparator + moduleFolder + fileSeparator + "src" + fileSeparator + "main";
    String javaDir = mainFolder + fileSeparator + "java";
    String xmlDir = mainFolder + fileSeparator + "resources" + fileSeparator + "mapper" + fileSeparator + xmlFolder;
    System.out.println("java 输出目录:" + javaDir);
    System.out.println("xml 输出目录:" + xmlDir);
    FastAutoGenerator.create(dataSourceConfig).globalConfig((scanner, builder) -> {
        builder.author(scanner.apply("请输入作者名称?"));
        // 禁止打开输出目录
        builder.disableOpenDir();
        // 输出目录
        builder.outputDir(javaDir);
    }).packageConfig((scanner, builder) -> {
        builder.parent(packageName);
        builder.pathInfo(Collections.singletonMap(OutputFile.xml, xmlDir));
    }).strategyConfig((scanner, builder) -> builder.addInclude(getTables(scanner.apply("请输入表名,多个英文逗号分隔?所有输入 all"))).controllerBuilder().enableRestStyle().enableHyphenStyle().mapperBuilder().enableBaseResultMap().entityBuilder().enableLombok().addTableFills(new Column("create_date", FieldFill.INSERT), new Column("update_date", FieldFill.UPDATE), new Column("create_username", FieldFill.INSERT), new Column("update_username", FieldFill.UPDATE)).logicDeleteColumnName("deleted").build()).execute();
}
Also used : Arrays(java.util.Arrays) Column(com.baomidou.mybatisplus.generator.fill.Column) MySqlTypeConvert(com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert) Scanner(java.util.Scanner) DataSourceConfig(com.baomidou.mybatisplus.generator.config.DataSourceConfig) MybatisPlusException(com.baomidou.mybatisplus.core.exceptions.MybatisPlusException) OutputFile(com.baomidou.mybatisplus.generator.config.OutputFile) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) FastAutoGenerator(com.baomidou.mybatisplus.generator.FastAutoGenerator) MySqlQuery(com.baomidou.mybatisplus.generator.config.querys.MySqlQuery) Data(lombok.Data) FieldFill(com.baomidou.mybatisplus.annotation.FieldFill) MySqlKeyWordsHandler(com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler) AllArgsConstructor(lombok.AllArgsConstructor) Collections(java.util.Collections) DataSourceConfig(com.baomidou.mybatisplus.generator.config.DataSourceConfig) MySqlTypeConvert(com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert) MySqlQuery(com.baomidou.mybatisplus.generator.config.querys.MySqlQuery) Column(com.baomidou.mybatisplus.generator.fill.Column) MySqlKeyWordsHandler(com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler)

Example 3 with Column

use of com.baomidou.mybatisplus.generator.fill.Column in project c4p by xseuen.

the class CodeGenerator method codeGenerator.

/**
 * 代码生成
 *
 * @see OutputFile
 */
@Test
public void codeGenerator() {
    String projectPath = System.getProperty("user.dir");
    String javaPath = projectPackage.replaceAll("\\.", "/");
    // 设置自定义路径
    Map<OutputFile, String> pathInfo = new HashMap<>();
    pathInfo.put(OutputFile.mapperXml, projectPath + "/src/main/resources/mybatis/mapper/");
    pathInfo.put(OutputFile.entity, projectPath + "/src/main/java/" + javaPath + "/entity/");
    pathInfo.put(OutputFile.controller, projectPath + "/src/main/java/" + javaPath + "/controller/");
    pathInfo.put(OutputFile.service, projectPath + "/src/main/java/" + javaPath + "/service/");
    pathInfo.put(OutputFile.serviceImpl, projectPath + "/src/main/java/" + javaPath + "/service/impl/");
    pathInfo.put(OutputFile.mapper, projectPath + "/src/main/java/" + javaPath + "/mapper/");
    pathInfo.put(OutputFile.other, projectPath + "/src/main/java/" + javaPath + "/dto/");
    AutoGenerator generator = new AutoGenerator(DATA_SOURCE_CONFIG);
    generator.strategy(strategyConfig().entityBuilder().enableLombok().enableChainModel().idType(IdType.ASSIGN_ID).logicDeleteColumnName("is_deleted").addTableFills(// 基于数据库字段填充
    new Column("gmt_created", FieldFill.INSERT)).addTableFills(new Column("gmt_modified", FieldFill.INSERT_UPDATE)).controllerBuilder().enableRestStyle().build());
    generator.packageInfo(packageConfig().pathInfo(pathInfo).build());
    generator.global(globalConfig().outputDir(projectPath + "/src/main/java").enableSwagger().disableOpenDir().build());
    generator.injection(injectionConfig().build());
    generator.execute(new FreemarkerTemplateEngine() {

        @Override
        protected void outputCustomFile(@NotNull Map<String, String> customFile, @NotNull TableInfo tableInfo, @NotNull Map<String, Object> objectMap) {
            String entityName = tableInfo.getEntityName();
            String otherPath = getPathInfo(OutputFile.other);
            customFile.forEach((key, value) -> {
                String fileName = String.format((otherPath + File.separator + "%s"), entityName + key);
                outputFile(new File(fileName), objectMap, value);
            });
        }
    });
}
Also used : Column(com.baomidou.mybatisplus.generator.fill.Column) Properties(java.util.Properties) IOException(java.io.IOException) HashMap(java.util.HashMap) AutoGenerator(com.baomidou.mybatisplus.generator.AutoGenerator) NotNull(javax.validation.constraints.NotNull) File(java.io.File) Test(org.junit.jupiter.api.Test) IdType(com.baomidou.mybatisplus.annotation.IdType) com.baomidou.mybatisplus.generator.config(com.baomidou.mybatisplus.generator.config) TableInfo(com.baomidou.mybatisplus.generator.config.po.TableInfo) Map(java.util.Map) FieldFill(com.baomidou.mybatisplus.annotation.FieldFill) FreemarkerTemplateEngine(com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine) Collections(java.util.Collections) InputStream(java.io.InputStream) HashMap(java.util.HashMap) Column(com.baomidou.mybatisplus.generator.fill.Column) TableInfo(com.baomidou.mybatisplus.generator.config.po.TableInfo) File(java.io.File) FreemarkerTemplateEngine(com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine) AutoGenerator(com.baomidou.mybatisplus.generator.AutoGenerator) Test(org.junit.jupiter.api.Test)

Example 4 with Column

use of com.baomidou.mybatisplus.generator.fill.Column in project weather-push by yangh124.

the class H2CodeGeneratorTest method testVersionAndFill.

/**
 * 乐观锁字段设置 result: 新增@Version注解 填充字段设置 result: 新增@TableField(value = "xxx", fill = FieldFill.xxx)注解
 */
@Test
public void testVersionAndFill() {
    AutoGenerator generator = new AutoGenerator(DATA_SOURCE_CONFIG);
    generator.strategy(// 基于数据库字段
    strategyConfig().entityBuilder().versionColumnName("version").versionPropertyName(// 基于模型属性
    "version").addTableFills(// 基于数据库字段填充
    new Column("create_time", FieldFill.INSERT)).addTableFills(// 基于模型属性填充
    new Property("updateTime", FieldFill.INSERT_UPDATE)).build());
    generator.global(globalConfig().build());
    generator.execute();
}
Also used : Column(com.baomidou.mybatisplus.generator.fill.Column) Property(com.baomidou.mybatisplus.generator.fill.Property) AutoGenerator(com.baomidou.mybatisplus.generator.AutoGenerator) Test(org.junit.jupiter.api.Test)

Example 5 with Column

use of com.baomidou.mybatisplus.generator.fill.Column in project Hospital_BackEnd by ZJU-SE-2022-G.

the class CodeGeneratorTest method testVersionAndFill.

/**
 * 乐观锁字段设置
 * result: 新增@Version注解
 * 填充字段设置
 * result: 新增@TableField(value = "xxx", fill = FieldFill.xxx)注解
 */
@Test
public void testVersionAndFill() {
    AutoGenerator generator = new AutoGenerator(DATA_SOURCE_CONFIG);
    generator.strategy(strategyConfig().entityBuilder().versionColumnName(// 基于数据库字段
    "version").versionPropertyName(// 基于模型属性
    "version").addTableFills(// 基于数据库字段填充
    new Column("create_time", FieldFill.INSERT)).addTableFills(// 基于模型属性填充
    new Property("updateTime", FieldFill.INSERT_UPDATE)).build());
    generator.global(globalConfig().build());
    generator.execute();
}
Also used : Column(com.baomidou.mybatisplus.generator.fill.Column) Property(com.baomidou.mybatisplus.generator.fill.Property) AutoGenerator(com.baomidou.mybatisplus.generator.AutoGenerator) Test(org.junit.jupiter.api.Test)

Aggregations

Column (com.baomidou.mybatisplus.generator.fill.Column)5 FieldFill (com.baomidou.mybatisplus.annotation.FieldFill)3 AutoGenerator (com.baomidou.mybatisplus.generator.AutoGenerator)3 Collections (java.util.Collections)3 Test (org.junit.jupiter.api.Test)3 FastAutoGenerator (com.baomidou.mybatisplus.generator.FastAutoGenerator)2 FreemarkerTemplateEngine (com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine)2 Property (com.baomidou.mybatisplus.generator.fill.Property)2 Arrays (java.util.Arrays)2 List (java.util.List)2 IdType (com.baomidou.mybatisplus.annotation.IdType)1 MybatisPlusException (com.baomidou.mybatisplus.core.exceptions.MybatisPlusException)1 com.baomidou.mybatisplus.generator.config (com.baomidou.mybatisplus.generator.config)1 DataSourceConfig (com.baomidou.mybatisplus.generator.config.DataSourceConfig)1 OutputFile (com.baomidou.mybatisplus.generator.config.OutputFile)1 MySqlTypeConvert (com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert)1 TableInfo (com.baomidou.mybatisplus.generator.config.po.TableInfo)1 MySqlQuery (com.baomidou.mybatisplus.generator.config.querys.MySqlQuery)1 MySqlKeyWordsHandler (com.baomidou.mybatisplus.generator.keywords.MySqlKeyWordsHandler)1 File (java.io.File)1