0
点赞
收藏
分享

微信扫一扫

mybatisplus代码生成器新

_karen 2022-03-17 阅读 114
java
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.1</version>
        </dependency>
        <!--逆向工程需要模板引擎-->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.28</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.0</version>
        </dependency>

package com.xu.rewang;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.util.Collections;

/**
 * @author
 * @since 2018/12/13
 */
public class MybatisPlusGenerator {

    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/personal_data?useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8";
        String username = "root";
        String password = "root";
        FastAutoGenerator.create(url, username, password)
                .globalConfig(builder -> {
                    builder.author("xlj") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .outputDir("D:\\Desktop"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.xa") // 设置父包名
                            .moduleName("cloud") // 设置父包模块名
                            .entity("personal.entity")
                            .service("personal.service")
                            .serviceImpl("personal.service.serviceImpl")
                            .mapper("personal.mapper")
//                            .xml("user.mapper")
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D:\\Desktop\\mappers")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude("personal_data_menu", "user_record") // 设置需要生成的表名
//                            .addTablePrefix("gfm_", "c_")// 设置过滤表前缀
                            .controllerBuilder()
                            .enableRestStyle()
                            .entityBuilder()
                            .enableLombok()
                            .mapperBuilder()
                            .enableBaseResultMap()
                            .enableBaseColumnList()
                            .enableMapperAnnotation()
                    ;
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();

        DataSourceConfig ds = new DataSourceConfig.Builder(url, username, password).build();
        AutoGenerator generator = new AutoGenerator(ds);

    }

}

举报

相关推荐

0 条评论