SpringBoot整合MybatisPlus实现代码自动生成

1、添加必须依赖

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.2</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.3.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.2</version>
        </dependency>

2、书写代码生成通用类

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import static com.baomidou.mybatisplus.annotation.IdType.ASSIGN_ID;

/**
 * Mybatisplus代码生成器(全)
 */
public class GeneratorCodeAllConfig {

    /**要自动生成代码的数据库表名,例如表名为demo*/
    private static String[] TABLE_NAMES = new String[]{"demo"};

    public static void main(String[] args) {
        AutoGenerator mpg = new AutoGenerator();

        //全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath+"/src/main/java");//这里写你自己的java目录
        gc.setFileOverride(true);//是否覆盖
        gc.setOpen(false);//生成后是否打开文件夹
        gc.setActiveRecord(true);
        gc.setEnableCache(false);// XML 二级缓存
        gc.setBaseResultMap(true);// XML ResultMap
        gc.setBaseColumnList(true);// XML columList
        gc.setAuthor("hy-zpei");
        gc.setIdType(ASSIGN_ID);
        gc.setSwagger2(true);
        mpg.setGlobalConfig(gc);

        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setDbType(DbType.MYSQL);
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("xxx@123");
        dsc.setUrl("jdbc:mysql://127.0.0.1:3306/plusDemo?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&allowPublicKeyRetrieval=true");
        mpg.setDataSource(dsc);

        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setParent(null);
        pc.setEntity("com.example.mybatisplus.plus.model");
        pc.setMapper("com.example.mybatisplus.plus.mapper");
        pc.setXml("com.example.mybatisplus.plus.mapper");
        pc.setService("com.example.mybatisplus.plus.service");
        pc.setServiceImpl("com.example.mybatisplus.plus.service.impl");
        pc.setController("com.example.mybatisplus.plus.controller");
        mpg.setPackageInfo(pc);

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

        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
//        strategy.setColumnNaming(NamingStrategy.no_change);//字段不使用驼峰
        strategy.setInclude(TABLE_NAMES);
        strategy.setEntityLombokModel(true);
        strategy.setRestControllerStyle(true);
        mpg.setStrategy(strategy);

        // 执行生成
        mpg.execute();
    }

}

3、执行main方法,代码自动生成

猜你喜欢

转载自blog.csdn.net/qq_40386113/article/details/115137432