springboot(18)MyBatisPlusGenerator


MyBatisPlusGenerator 是一个基于 MyBatis-Plus 的代码生成器,可帮助开发人员快速生成 MyBatis-Plus 的 Entity、Mapper、Mapper XML、Service、Controller 等代码。本文将介绍如何使用 MyBatisPlusGenerator。

步骤 1:添加依赖

在项目的 pom.xml 文件中添加如下依赖:

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-generator</artifactId>
  <version>{版本号}</version>
</dependency>

步骤 2:创建代码生成器配置文件

在项目的 resources 目录下创建名为 generator.properties 的文件,文件内容如下:

# 数据库连接配置
generator.jdbc.driver=com.mysql.jdbc.Driver
generator.jdbc.url=jdbc:mysql://localhost:3306/{数据库名}?useUnicode=true&characterEncoding=utf-8
generator.jdbc.username={数据库用户名}
generator.jdbc.password={数据库密码}

# 代码生成配置
generator.package.name={生成代码的包名}
generator.module.name={模块名}
generator.table.names={生成代码的表名,多个表名以逗号隔开}
generator.author={作者名}
generator.output.dir={生成代码输出目录}

generator.output.dir 表示生成的代码输出目录,即生成的代码文件将会保存在该目录下。

generator.package.name 表示生成的代码所在的包名,即生成的代码文件将会放在该包下。

generator.table.names 中,多个表名应该以英文逗号 , 隔开,例如:

generator.table.names=user,order,item

这将生成 userorderitem 三张表的代码。

步骤 3:编写代码生成器类

在项目中编写代码生成器类,示例代码如下:

public class CodeGenerator {
    
    
    public static void main(String[] args) {
    
    
        AutoGenerator generator = new AutoGenerator();
        // 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir("D:/code");
        globalConfig.setAuthor("mybatis-plus-generator");
        globalConfig.setOpen(false);
        generator.setGlobalConfig(globalConfig);
        // 数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/{数据库名}?useUnicode=true&characterEncoding=utf-8");
        dataSourceConfig.setUsername("{数据库用户名}");
        dataSourceConfig.setPassword("{数据库密码}");
        dataSourceConfig.setDriverName("com.mysql.jdbc.Driver");
        generator.setDataSource(dataSourceConfig);
        // 包配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("{生成代码的包名}");
        packageConfig.setModuleName("{模块名}");
        generator.setPackageInfo(packageConfig);
        // 策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig.setInclude("{生成代码的表名,多个表名以逗号隔开}");
        generator.setStrategy(strategyConfig);
        // 模板配置
        TemplateConfig templateConfig = new TemplateConfig();
        templateConfig.setXml(null);
        generator.setTemplate(templateConfig);
        generator.execute();
    }
}

步骤 4:运行代码生成器

运行代码生成器类的 main 方法,即可生成代码到指定输出目录。

案例

步骤 1:添加依赖

在项目的 pom.xml 文件中添加如下依赖:

<dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-generator</artifactId>
      <version>3.4.0</version>
    </dependency>
<!--    导入freemarker-->
    <dependency>
      <groupId>org.freemarker</groupId>
      <artifactId>freemarker</artifactId>
      <version>2.3.28</version>
      <scope>compile</scope>
    </dependency>
    <!-- 默认模板引擎 -->
    <dependency>
      <groupId>org.apache.velocity</groupId>
      <artifactId>velocity-engine-core</artifactId>
      <version>2.0</version>
    </dependency>

步骤 2:创建代码生成器配置文件

在项目的 resources 目录下创建名为 generator.properties 的文件,文件内容如下:

generator.jdbc.driver=com.mysql.cj.jdbc.Driver
generator.jdbc.url=jdbc:mysql://localhost:3306/springboot-regis?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
generator.jdbc.username=root
generator.jdbc.password=123456


generator.package.name=com.buba
generator.module.name=
generator.table.names=employee,user
generator.author=bilal
generator.output.dir=src/main/java

我没有module所以没写

步骤 3:编写代码生成器类

在项目中编写代码生成器类,示例代码如下:

package com.buba.config;

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import org.springframework.core.io.support.PropertiesLoaderUtils;

import java.util.Properties;

public class CodeGenerator {
    
    
    public static void main(String[] args) throws Exception {
    
    
        // 读取配置文件
        Properties props = PropertiesLoaderUtils.loadAllProperties("generator.properties");
        // 创建代码生成器
        AutoGenerator generator = new AutoGenerator();
        // 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir(props.getProperty("generator.output.dir"));
        globalConfig.setAuthor(props.getProperty("generator.author"));
        globalConfig.setOpen(false);
        generator.setGlobalConfig(globalConfig);
        // 数据源配置
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setUrl(props.getProperty("generator.jdbc.url"));
        dataSourceConfig.setUsername(props.getProperty("generator.jdbc.username"));
        dataSourceConfig.setPassword(props.getProperty("generator.jdbc.password"));
        dataSourceConfig.setDriverName(props.getProperty("generator.jdbc.driver"));
        generator.setDataSource(dataSourceConfig);
        // 包配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent(props.getProperty("generator.package.name"));
//        packageConfig.setModuleName(props.getProperty("generator.module.name"));
        generator.setPackageInfo(packageConfig);
        // 策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        //表名,多个英文逗号分割
        strategyConfig.setInclude(props.getProperty("generator.table.names").split(","));
        //是否为lombok模型,默认为false
        strategyConfig.setEntityLombokModel(true);
        //前后端分离时可开启
        strategyConfig.setRestControllerStyle(true);
        //生成实体时生成生成数据库字段注解
        strategyConfig.setEntityTableFieldAnnotationEnable(true);
        generator.setStrategy(strategyConfig);
        // 模板配置
        TemplateConfig templateConfig = new TemplateConfig();
        templateConfig.setXml(null);
        generator.setTemplate(templateConfig);
        generator.execute();
    }
}

步骤 4:添加@MapperScan

@SpringBootApplication
@MapperScan("com.buba.mapper")
public class ApplicationRegis {
    
    
    public static void main(String[] args) {
    
    
        SpringApplication.run(ApplicationRegis.class, args);
        System.out.println("Application started");
    }
}

步骤 5:运行代码生成器

运行代码生成器类的 main 方法,即可生成代码到指定输出目录。

总结

本文介绍了 MyBatisPlusGenerator 的使用方法,希望能够帮助开发人员提高开发效率。如果您在使用过程中遇到问题,可以参考 MyBatisPlusGenerator 的官方文档或者在社区提问。

猜你喜欢

转载自blog.csdn.net/Bilal_0/article/details/129996715
今日推荐