Search in sources :

Example 1 with Property

use of com.baomidou.mybatisplus.generator.fill.Property in project shopzz by whoiszxl.

the class MyBatisFastAutoGenerator method main.

public static void main(String[] args) {
    // 1.数据源配置
    DataSourceConfig.Builder dataSourceConfigBuilder = new DataSourceConfig.Builder("jdbc:mysql://aliyun.whoiszxl.com/shopzz?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false", "shopzz", "ECmzyDLN7bRSKtab");
    // 2.全局配置
    GlobalConfig.Builder globalConfigBuilder = new GlobalConfig.Builder();
    String projectPath = System.getProperty("user.dir");
    globalConfigBuilder.outputDir(projectPath + "/src/main/java");
    globalConfigBuilder.author(AUTHOR);
    globalConfigBuilder.disableOpenDir();
    if (ENABLE_SWAGGER) {
        globalConfigBuilder.enableSwagger();
    }
    // 3.包配置
    PackageConfig.Builder packageConfigBuilder = new PackageConfig.Builder();
    packageConfigBuilder.parent(PACKAGE_NAME);
    // 4.策略配置
    StrategyConfig.Builder strategyConfigBuilder = new StrategyConfig.Builder();
    // 过滤表前缀
    strategyConfigBuilder.addTablePrefix("sys_", "admin_", "oms_", "ums_", "vms_", "search_", "fms_", "rms_", "wms_", "pms_", "spms_");
    // 设置需要映射的表名
    strategyConfigBuilder.addInclude(DB_TABLES);
    // 下划线转驼峰
    strategyConfigBuilder.entityBuilder().naming(NamingStrategy.underline_to_camel);
    strategyConfigBuilder.entityBuilder().columnNaming(NamingStrategy.underline_to_camel);
    // entity的Lombok
    strategyConfigBuilder.entityBuilder().enableLombok();
    // 逻辑删除
    strategyConfigBuilder.entityBuilder().logicDeleteColumnName("is_deleted");
    strategyConfigBuilder.entityBuilder().logicDeletePropertyName("isDeleted");
    // 自动填充
    // 创建时间
    IFill createdAt = new Property("created_at", FieldFill.INSERT);
    // 更新时间
    IFill updatedAt = new Property("updated_at", FieldFill.INSERT_UPDATE);
    strategyConfigBuilder.entityBuilder().addTableFills(createdAt, updatedAt);
    // 乐观锁
    strategyConfigBuilder.entityBuilder().versionColumnName("version");
    strategyConfigBuilder.entityBuilder().versionPropertyName("version");
    // 使用RestController
    strategyConfigBuilder.controllerBuilder().enableRestStyle();
    // 将请求地址转换为驼峰命名,如 http://localhost:8080/hello_id_2
    strategyConfigBuilder.controllerBuilder().enableHyphenStyle();
    // 创建代码生成器对象,加载配置   对应1.2.3.4步
    AutoGenerator autoGenerator = new AutoGenerator(dataSourceConfigBuilder.build());
    autoGenerator.global(globalConfigBuilder.build());
    autoGenerator.packageInfo(packageConfigBuilder.build());
    autoGenerator.strategy(strategyConfigBuilder.build());
    // 执行
    autoGenerator.execute();
}
Also used : DataSourceConfig(com.baomidou.mybatisplus.generator.config.DataSourceConfig) GlobalConfig(com.baomidou.mybatisplus.generator.config.GlobalConfig) IFill(com.baomidou.mybatisplus.generator.IFill) PackageConfig(com.baomidou.mybatisplus.generator.config.PackageConfig) StrategyConfig(com.baomidou.mybatisplus.generator.config.StrategyConfig) Property(com.baomidou.mybatisplus.generator.fill.Property) AutoGenerator(com.baomidou.mybatisplus.generator.AutoGenerator)

Example 2 with Property

use of com.baomidou.mybatisplus.generator.fill.Property 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 3 with Property

use of com.baomidou.mybatisplus.generator.fill.Property 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

AutoGenerator (com.baomidou.mybatisplus.generator.AutoGenerator)3 Property (com.baomidou.mybatisplus.generator.fill.Property)3 Column (com.baomidou.mybatisplus.generator.fill.Column)2 Test (org.junit.jupiter.api.Test)2 IFill (com.baomidou.mybatisplus.generator.IFill)1 DataSourceConfig (com.baomidou.mybatisplus.generator.config.DataSourceConfig)1 GlobalConfig (com.baomidou.mybatisplus.generator.config.GlobalConfig)1 PackageConfig (com.baomidou.mybatisplus.generator.config.PackageConfig)1 StrategyConfig (com.baomidou.mybatisplus.generator.config.StrategyConfig)1