代码生成器
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 等。