代码生成器

发布于:2024-07-03 ⋅ 阅读:(11) ⋅ 点赞:(0)

代码生成器

MyBatis-Plus 的代码生成器能够根据数据库表结构自动生成相关的代码,极大地提高开发效率,减少重复劳动。

代码生成器使用步骤

1)导入依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.4.1</version>
</dependency>
<!-- velocity -->
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.0</version>
</dependency>

2)创建配置类并执行

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;

public class CodeGenerator {

    public static void main(String[] args) {
        // 自动代码生成器
        AutoGenerator autoGenerator = new AutoGenerator();

        // 1. 数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL);
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/your_database_name");
        dataSourceConfig.setUsername("your_username");
        dataSourceConfig.setPassword("your_password");
        autoGenerator.setDataSource(dataSourceConfig);

        // 2. 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir(System.getProperty("user.dir") + "/generated-code");
        globalConfig.setAuthor("Your Name");
        globalConfig.setOpen(false);
        globalConfig.setFileOverride(false);
        autoGenerator.setGlobalConfig(globalConfig);

        // 3. 包配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.example.demo");
        packageConfig.setModuleName("your_module_name");
        autoGenerator.setPackageInfo(packageConfig);

        // 4. 策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setInclude("your_table_name");
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setEntityLombokModel(true);
        autoGenerator.setStrategy(strategyConfig);

        // 5. 执行生成
        autoGenerator.execute();
    }
}

在上述代码中:

  • DataSourceConfig:配置数据库的连接信息,包括数据库类型、连接 URL、用户名和密码。
  • GlobalConfig:设置生成代码的输出目录、作者信息、是否打开生成目录以及是否覆盖已有文件等。
  • PackageConfig:定义生成代码的包结构,包括父包名和模块名。
  • StrategyConfig:配置要生成代码的表名、命名策略以及是否使用 Lombok 等。