返回

Mybatis-Plus助力代码生成:释放开发潜能,提升效率!

后端

Mybatis-Plus AutoGenerator:让代码生成变得轻而易举

Mybatis-Plus:ORM框架的王者

作为Java开发人员,你一定听过Mybatis-Plus的大名。它基于MyBatis构建,但提供了更丰富的功能和更友好的开发体验。它不仅支持自动生成代码,还提供了许多其他强大特性,如分页查询、乐观锁、自动填充等,极大地简化了我们的开发工作。

AutoGenerator:代码生成的利器

AutoGenerator是Mybatis-Plus的代码生成器,它可以帮助我们快速生成Java代码和XML配置文件。只需提供数据库连接信息和表名,AutoGenerator即可自动生成相应的实体类、Mapper接口和XML映射文件。这极大地提高了我们的开发效率,让我们能够专注于业务逻辑的开发,无需浪费时间在繁琐的手动编码上。

使用AutoGenerator生成代码的步骤

使用AutoGenerator生成代码非常简单:

  1. 首先,在项目中添加Mybatis-Plus依赖。
  2. 然后,在需要生成代码的模块中创建一个GeneratorConfig类,并配置相关参数。
  3. 最后,执行代码生成命令即可。

详细步骤请参考 Mybatis-Plus官方文档

AutoGenerator的优势

AutoGenerator具有以下优势:

  • 代码生成速度快: AutoGenerator可以快速生成代码,极大地提高了我们的开发效率。
  • 代码生成质量高: AutoGenerator生成的代码质量很高,可以满足实际开发的需求。
  • 支持多种数据库: AutoGenerator支持多种主流数据库,包括MySQL、Oracle、PostgreSQL等。
  • 支持多种语言: AutoGenerator支持多种编程语言,包括Java、Kotlin、TypeScript等。

AutoGenerator的使用场景

AutoGenerator可以用于以下场景:

  • 新建项目时: 在新建项目时,可以使用AutoGenerator快速生成代码,从而搭建项目的框架。
  • 重构项目时: 在重构项目时,可以使用AutoGenerator将旧代码转换为新代码,从而提高代码质量和可维护性。
  • 修复bug时: 在修复bug时,可以使用AutoGenerator快速生成新的测试代码,从而方便地进行单元测试。

代码示例

// 导包
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;
import com.baomidou.mybatisplus.generator.config.TemplateConfig;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

// 创建代码生成器
AutoGenerator mpg = new AutoGenerator();

// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor("dong");
gc.setOpen(false);
mpg.setGlobalConfig(gc);

// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&useSSL=false&characterEncoding=utf8");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
mpg.setDataSource(dsc);

// 包配置
PackageConfig pc = new PackageConfig();
pc.setModuleName("user");
pc.setParent("com.dong");
mpg.setPackageInfo(pc);

// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("user");
strategy.setTablePrefix(pc.getModuleName() + "_");
mpg.setStrategy(strategy);

// 模板配置
TemplateConfig templateConfig = new TemplateConfig();
templateConfig.setXml(null);
mpg.setTemplate(templateConfig);

// 启用Freemarker模板引擎
mpg.setTemplateEngine(new FreemarkerTemplateEngine());

// 执行代码生成
mpg.execute();

常见问题解答

  1. 如何配置代码生成的包名和模块名?
    配置PackageConfig中的parentmoduleName属性。

  2. 如何生成没有XML映射文件的代码?
    TemplateConfig中设置xml属性为null

  3. 如何生成符合特定规范的代码?
    使用StrategyConfig中的setNamingConversion()setColumnNaming()等方法。

  4. 如何使用自己的模板生成代码?
    TemplateConfig中设置customFile属性为自定义模板的路径。

  5. 如何生成代码到指定目录?
    GlobalConfig中设置setOutputDir属性为目标目录。